如何运行grep并在匹配前后显示x行

Anu*_*har 5 grep bash

grep只返回与正则表达式匹配的行,通常我想要真正看到的是匹配行上方和下方的几行(比如 2 行)。有没有简单的方法来实现它?

编辑:操作系统:基于 Ubuntu 的 Bodhi Linux。正如评论中提到的, -C 在 vanilla 中不起作用,但在我的情况下它的 GNU grep 。

gol*_*cks 10

来自man grep

上下文线控制

-A NUM, --after-context=NUM

在匹配行后打印 NUM 行尾随上下文。在连续的匹配组之间放置包含组分隔符 (--) 的行。使用 -o 或 --only-matching 选项,这不起作用并给出警告。

-B NUM, --before-context=NUM

在匹配行之前打印前导上下文的 NUM 行。在连续的匹配组之间放置包含组分隔符 (--) 的行。使用 -o 或 --only-matching 选项,这不起作用并给出警告。

-C NUM, -NUM, --context=NUM

打印 NUM 行输出上下文。在连续的匹配组之间放置包含组分隔符 (--) 的行。使用 -o 或 --only-matching 选项,这不起作用并给出警告。

看到那是多么容易吗? man是你的朋友。


归档时间:

查看次数:

18406 次

最近记录:

12 年,8 月 前