Select行匹配模式+1

Select line matching pattern +1

如何使用 sed 来 select 每行匹配一个模式 + 下一行? 例如,我想 select 所有带有 tag="foo" 的行加上下一行。 作为替代方案,我还希望能够 select 带有 tag="foo"group="bar" 的行]加上下一行。

这可能适合您 (GNU sed):

sed -En '/tag="foo"|group="bar"/,+1p' file

打开扩展正则表达式 -E 并关闭隐式打印 -n

匹配 tag="foo"group="bar" 的交替并打印范围 +1 行。


选择:

sed '/tag="foo"\|group="bar"/!d;n' file

要始终打印 2 行,请使用:

sed -n '/tag="foo"\|group="bar"/{N;p}' file