我正在寻找与特定模式匹配的两个连续行,例如使用 sed 包含单词“pat”,并注意到我有时可以使用以下命令检测到它:
sed -n 'N; /.*pat.*\n.*pat.*/p'
但如果重复项的行号不具有相同的奇偶校验,则此命令会失败,我认为这是因为我们正在搜索行 1+2、3+4、5+6 等。如果是这种情况,会发生什么正确的方法是这样做吗?
为什么需要这样sed
?我可以建议吗awk
?
awk '{/pat/?f++:f=0} f==2' file
If pat
找到,增加f
with 1
If pat
没有找到,重置f
to 0
If f==2
打印该行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)