小编典典

如何在 bash 中的 grep 结果之前/之后获取行?

all

我想要一种在给定文本中搜索的方法。为此,我使用grep

grep -i "my_regex"

这样可行。但鉴于这样的数据:

This is the test data
This is the error data as follows
. . . 
. . . .
. . . . . . 
. . . . . . . . .
Error data ends

一旦我找到这个词error(使用grep -i error data),我希望找到这个词后面的 10 行error。所以我的输出应该是:

. . . 
. . . .
. . . . . . 
. . . . . . . . .
Error data ends

有什么办法吗?


阅读 64

收藏
2022-07-14

共1个答案

小编典典

您可以使用-Band-A打印匹配前后的行。

grep -i -B 10 'error' data

将打印匹配前的 10 行,包括匹配行本身。

2022-07-14