如何轻松地在匹配上方打印行并跳过匹配本身?grep
-A
,-B
并且-o
选择不解决它。也许有awk
什么魔法?
例如:
$ cat foo.txt
bar
foo
baz
foo
$ cat foo.txt | grep foo-SOMETHING
bar
baz
编辑
- 如果第 2 行和第 3 行有“foo”,则应该打印第 1 行和第 2 行(虽然我在这里不是很严格)
附加功能:考虑示例:
bar
foo
baz
foo
foo
理想情况下,这应该返回
bar
baz
foo