我找了接连的两行匹配特定模式,比如说包含词“拍打”使用SED和已经注意到,我可以用这个命令有时会检测到它:检测连续两行相匹配的模式sed的
sed -n 'N; /.*pat.*\n.*pat.*/p'
但如果重复项的行数不是相同的奇偶性,我认为这是因为我们正在搜索第1 + 2,3 + 4,5 + 6行等。如果是这种情况,这样做的正确方法是什么?
我找了接连的两行匹配特定模式,比如说包含词“拍打”使用SED和已经注意到,我可以用这个命令有时会检测到它:检测连续两行相匹配的模式sed的
sed -n 'N; /.*pat.*\n.*pat.*/p'
但如果重复项的行数不是相同的奇偶性,我认为这是因为我们正在搜索第1 + 2,3 + 4,5 + 6行等。如果是这种情况,这样做的正确方法是什么?
为什么它需要是sed
?我可以建议awk
?
awk '{/pat/?f++:f=0} f==2' file
如果发现pat
,增加f
与1
如果找不到pat
,重置f
到0
如果f==2
打印行。
这是正确的吗?我认为当我们不匹配时需要别的东西。 –
是的,我看到了,将修复 – Jotne
@PalaceChan这应该做的。 – Jotne