Bash,在具有多组此类行的文件中具有指定字符串的两行之间的grep

时间:2015-06-23 17:31:50

标签: linux bash

示例:

a43
test1
abc
cvb
bnm
test2
kfo
a43
test1
abc
cvb
bnm
test2
kfo
a43
test1
abc
cvb
bnm
test2
kfo

我需要找到test1和test2的第一次出现之间的所有行。 grep命令下面的命令不起作用:

grep -A100000 test1 file.txt | grep -B100000 test2 > new.txt

如果需要进行任何修改,请告诉我吗?

1 个答案:

答案 0 :(得分:0)

这个awk应该做的工作:

awk '/test1/{p=1} p; /test2/{exit}' file
test1
abc
cvb
bnm
test2