grep 命令非常强大,而且我经常使用它。
有时我有必要找到一些grep查找许多文件的内容,以找到我几乎记得用 -i (忽略大小写)选项帮助自己的字符串, -r (递归)以及 -v (排除)。
但我真正需要的是从grep获得一个特殊输出,突出显示匹配的行和邻域行(给定匹配的行我想看,让我们说,前面的2行和后面的2行。)
有没有办法使用bash获得此结果?
答案 0 :(得分:19)
Grep本身会这样做
grep -A 2 -B 2 foo myfile.txt
答案 1 :(得分:11)
大多数greps允许“context”标志使其更具可读性:
grep --context=3 foo myfile.txt
答案 2 :(得分:7)
您可以省略-C
grep -2 foo myfile.txt
等于
grep -C 2 foo myfile.txt