我想获取某个 grep 匹配之后的文本文件的所有行,直到我遇到另一个不同的 grep 匹配。但如果之后还有另一场比赛,我想再次显示台词。示例:我的文本文件类似于:
Pattern_A
line1
line2
Pattern_B
line3
line4
Pattern_A
line5
line6
Pattern_B
line7
现在我需要一个命令,输出:
Pattern_A
line1
line2
Pattern_A
line5
line6
先感谢您!
答案1
使用 GNU sed:
sed -n '/Pattern_A/,/Pattern_B/{/Pattern_B/d;p}' file
输出:
图案_A 1号线 第2行 图案_A 5号线 6号线