grep 多次出现并插入行

grep 多次出现并插入行

我想做以下事情:

给定一个包含多行文件,其中几行与某个模式匹配,输出第一行匹配、最后一行匹配以及中间的所有行(我希望它们保持原始顺序,并不是说我希望重新排列输出)。我知道我可以使用 grep 输出周围的上下文,但我希望输出一组连续的行

任何帮助都值得感激:)

编辑:示例:

#PATTERN: 'ZZZZZ'

#INPUT:
foo
foo bar
foo bar ZZZZZ baz
foo bar foo
foo ZZZZZ
bar
ZZZZZ
foo ZZZZZ
foo bar baz
foo

#OUTPUT:
foo bar ZZZZZ baz
foo bar foo
foo ZZZZZ
bar
ZZZZZ
foo ZZZZZ

答案1

如果您想查找包含“ZZZZZ”和“bar”的行,请尝试使用以下命令

grep 'ZZZZZ\|bar' /file/to/path

相关内容