grep - 返回每个匹配项周围的行

12
我在一项搜索中使用grep,但返回了很多错误结果。我发现通过检查识别好的结果比编写更复杂的grep表达式更容易。
为此,我需要看到每个结果的前后1-2行。请问我可以如何指示grep返回每个匹配项的前后1-2行?

3
对于这个问题和类似的查询,“man grep”就是你的好朋友。 - Ina
1
你尝试过什么?你的grep表达式是什么?你想要搜索什么? - Freddie
由于某些原因,“man grep”在我的机器上无法正常工作,但更好的谷歌搜索词选择确实起了作用。如果合适,请随意关闭。 - blueberryfields
@blueberryfields 嗯,你可以删除这个问题。你也可以给出一个解决方案来回答你的问题。 - woliveirajr
重复的内容,请参考 https://dev59.com/LHVD5IYBdhLWcg3wWKPc?rq=1,那里有更多信息。 - Yo Ludke
1个回答

26

如果你使用的是GNUgrep

grep -A 2 -B 2 或者 grep -C 2
-A 表示匹配结果之后的行数
-B 表示匹配结果之前的行数
-C 表示匹配结果前后各几行

更多选项和来源:http://unixhelp.ed.ac.uk/CGI/man-cgi?grep


太好了!感谢安迪添加了“-C”。 - ThanksForAllTheFish

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接