grep like命令查找匹配的行和邻居行

zta*_*013 15 bash grep

grep命令非常强大,我经常使用它.

有时我有必要找到grep查找许多文件的内容,以找到我几乎记得用-i(忽略大小写)选项,-r(递归)和-v(排除)帮助自己的字符串.

但我真正需要的是从grep获得一个特殊的输出,突出显示匹配的行和邻居行(给定匹配的行我想看,比如前面的2行和后面的2行).

有没有办法使用bash获得此结果?

cho*_*hki 20

Grep本身就是这样做的

grep -A 2 -B 2 foo myfile.txt
Run Code Online (Sandbox Code Playgroud)

  • 并且不要忘记`-C 2`这意味着`-A 2 -B 2`. (4认同)

enn*_*ler 12

大多数greps允许"context"标志使其更具可读性:

grep --context=3 foo myfile.txt
Run Code Online (Sandbox Code Playgroud)


Kri*_*aan 7

你可以省略-C

grep -2 foo myfile.txt
Run Code Online (Sandbox Code Playgroud)

等于

grep -C 2 foo myfile.txt
Run Code Online (Sandbox Code Playgroud)