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

时间:2020-03-05 18:39:14  来源:igfitidea点击:

我想用" grep"作为字符串,但还要显示前五行,后五行以及匹配的行。我将如何做到这一点?

解决方案

回答

对于BSD或者GNUgrep,我们可以使用-B num设置匹配之前的行数,而-A num设置匹配之后的行数。

grep -B 3 -A 2 foo README.txt

如果我们希望前后使用相同数量的行,则可以使用-C num。

grep -C 3 foo README.txt

这将在前面显示3行,在后面显示3行。

回答

grep astring myfile -A 5 -B 5

将grep" myfile"替换为" astring",并在每次匹配之前和之后显示5行

回答

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

回答

我通常使用

grep searchstring file -C n # n for number of lines of context up and down

许多工具(例如grep)也具有非常好的man文件。我发现自己经常参考grep的手册页,因为我们可以做很多事情。

man grep

许多GNU工具还具有一个信息页面,该信息页面除了手册页面外还可能包含更多有用的信息。

info grep

回答

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