如何使用grep分别打印匹配相同模式的行

时间:2015-11-25 07:00:08

标签: awk grep

假设我有一个文件,其中有相同模式的行,但在不同的块下,如何使用grep / awk在单独的文件中写入它们 例如:

$ cat file.txt
spin 1 
voltage current
spin 2
voltage current
$

我想在一个单独的文件中写入旋转1电压电流" spi1.dat"并在单独的文件中旋转2个电压电流。如何使用grep / awk执行此操作?

3 个答案:

答案 0 :(得分:0)

不知道用awk但是你可以用split进行类似的事情:

split -d -l 2 file.txt spi.dat

答案 1 :(得分:0)

在grep -A选项中用于在匹配后打印尾随上下文的行。

  grep 'spin 1' -A1  file.txt spi1.dat

答案 2 :(得分:0)

不太清楚,但这是awk方法:

awk '/^spin/{spin=$0;idx=$NF;getline;print spin" "$0 >"spin"idx".dat"}' infile