获取模式 1 和模式 2 之间可能累加多次的线

获取模式 1 和模式 2 之间可能累加多次的线

我尝试打印两个不同模式(包括模式)之间的行,这可能会在文件中多次出现。除了开始模式-结束模式-节奏之外,第二模式也可以出现。

例子:

-文件:

XYZ
XYY
BBB
XYX
AAA
AAB
BBB
XYW
AAA
AAC
AAD
BBB

-输出应该是这样的:

AAA
AAB
BBB
AAA
AAC
AAD
BBB

我已经尝试过类似的事情awk '/AAA/{a=1}/BBB/{print;a=0}a'

谢谢。

答案1

如果必须awk这样做:

awk -- '/AAA/,/BBB/{print}'

但它似乎sed 也非常适合您的情况。因此,类似地只需这样做:

sed -ne '/AAA/,/BBB/p'

在这两个命令中,使用逗号表示您要考虑从(并包括)与第一个模式匹配的行开始,直到(并包括)与第二个模式匹配的行的所有行。

相关内容