grep 如何处理重叠行?

grep 如何处理重叠行?

假设我的文本文件如下所示:

hello world1
foo bar2
hello world3
foo bar4
hello world5
foo bar 

如果我运行这个命令 grep -A 4 'hello' draft.txt,我认为它会打印如下内容:

hello world1     <<<<<<< This line matches
foo bar2         <<< These lines are the printed because of -A 4
hello world3     <<<
foo bar4         <<<
hello world5     <<< 
hello world3     <<<<<<< this line matches
foo bar4         <<< These lines are printed because of -A 4
hello world5     <<<
foo bar          <<<
 ... < so on > ....

但它实际上做的是打印这个(这可能是一个功能/错误)。

hello world1
foo bar2
hello world3
foo bar4
hello world5
foo bar 

这是它应该如何工作的吗?我怎样才能让它表现得像我想象的那样?(我使用什么开关/选项?)

答案1

其他匹配的行计为上下文。您可以采取一些措施来显示匹配项,使输出更易于阅读。

grep  --color -A 4 'hello' draft.txt

在此处输入图片描述

不连续的匹配组和上下文行将被拆分为--一行。

相关内容