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
如何使用 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