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

时间:2011-09-11 21:47:17

标签: bash grep

grep 命令非常强大,而且我经常使用它。

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

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

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

3 个答案:

答案 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