sed+;在匹配文件中连续的两行之后,如何通过sed或awk追加一些文本?

sed+;在匹配文件中连续的两行之后,如何通过sed或awk追加一些文本?,sed,Sed,在匹配文件中连续的两行之后,如何通过sed或awk追加一些文本? 备注(如果存在空行,则需要忽略) 比如说 我们希望在文件中的以下匹配行之后附加文本“这是新行” vopied 13783/tcp # VOPIED Protocol vopied 13783/udp # VOPIED Protocol 这是新线 利迪亚 正如你的另一个问题一样,我将阐明步骤 检查与tcp文本匹配的任何行,并在其上应用一系列命令: I.在模式空间(存储要匹配的字符串)中获取新行 二,。检查第一行

在匹配文件中连续的两行之后,如何通过sed或awk追加一些文本? 备注(如果存在空行,则需要忽略)

比如说

我们希望在文件中的以下匹配行之后附加文本“这是新行”

   vopied  13783/tcp  # VOPIED Protocol
   vopied  13783/udp  # VOPIED Protocol
这是新线

利迪亚

正如你的另一个问题一样,我将阐明步骤

  • 检查与
    tcp
    文本匹配的任何行,并在其上应用一系列命令:

    I.在模式空间(存储要匹配的字符串)中获取新行

    二,。检查第一行是否匹配
    tcp
    ,第二行是否匹配
    udp
    。如果是,则向其添加文本

  • sed '
      /\/tcp/{
        N
        /.*\/tcp.*\n.*\/udp.*/a\
        this is the new line
      }
    ' yourfile
    
    awk '/vopied/{f=1}f&&!/vopied/{print "next line";f=0}1' file