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)
enn*_*ler 12
大多数greps允许"context"标志使其更具可读性:
grep --context=3 foo myfile.txt
Run Code Online (Sandbox Code Playgroud)
你可以省略-C
grep -2 foo myfile.txt
Run Code Online (Sandbox Code Playgroud)
等于
grep -C 2 foo myfile.txt
Run Code Online (Sandbox Code Playgroud)