如何在匹配文件中的连续两行后通过sed或awk附加一些文本? 备注(如果存在则需要忽略空行)
例如
我们想在文件
中的以下匹配行之后附加文本“this is new line” vopied 13783/tcp # VOPIED Protocol
vopied 13783/udp # VOPIED Protocol
这是新行
利迪娅
答案 0 :(得分:2)
sed '
/\/tcp/{
N
/.*\/tcp.*\n.*\/udp.*/a\
this is the new line
}
' yourfile
在你的另一个问题中,我将阐明这些步骤。
检查与tcp
文本匹配的任何行,并在其上应用一系列命令:
予。获取模式空间中的新行(存储要匹配的字符串)
II。检查第一行是否匹配tcp
,第二行是udp
。如果有,请附加文字。
答案 1 :(得分:0)
awk '/vopied/{f=1}f&&!/vopied/{print "next line";f=0}1' file