协慌网

登录 贡献 社区

grep 一个文件,但显示几个周围的行?

我想grep一个字符串,但也显示前五行和以下五行以及匹配的行。我怎么能这样做?

答案

对于BSDGNU grep您可以使用-B num来设置匹配前的行数和匹配后的行数的-A num

grep -B 3 -A 2 foo README.txt

如果你想在使用-C num之前和之后使用相同数量的行。

grep -C 3 foo README.txt

这将显示之前的 3 行和之后的 3 行。

-A-B将起作用, -C n (对于n行上下文),或者只是-n (对于n行上下文)。

ack使用与 grep 类似的参数,并接受-C 。但搜索代码通常更好。