grep a file, but show several surrounding lines?
I would like to grep for a string, but also show the preceding five lines and the following five lines as well as the matched line. How would I be able to do this?
For BSD or GNU grep you can use -B num to set how many lines before the match and -A num for the number of lines after the match.
grep -B 3 -A 2 foo README.txt
If you want the same number of lines before and after you can use -C num .
grep -C 3 foo README.txt
This will show 3 lines before and 3 lines after.
-A和-B将起作用, -C n (用于n行上下文)或者仅用于-n (用于n行上下文)。
ack works with similar arguments as grep, and accepts -C . But it's usually better for searching through code.
下一篇: grep一个文件,但显示几条周边线?
