Dns vi替换字符串并用一些文本添加新行

Dns vi替换字符串并用一些文本添加新行,dns,bind,vi,Dns,Bind,Vi,我在绑定dns文件区域中有多行具有相同ip地址。我需要替换该ip地址,并在下面添加一行,另一行记录如下: mail IN A 10.10.10.10 ftp IN A 10.10.10.10 更改后,它应该如下所示: mail IN A 11.11.11.11 IN A 11.11.11.12 ftp IN A 11.11.11.11 IN A 11.11.11.12 谢谢

我在绑定dns文件区域中有多行具有相同ip地址。我需要替换该ip地址,并在下面添加一行,另一行记录如下:

mail   IN    A    10.10.10.10
ftp    IN    A    10.10.10.10
更改后,它应该如下所示:

mail   IN    A    11.11.11.11
       IN    A    11.11.11.12
ftp    IN    A    11.11.11.11
       IN    A    11.11.11.12

谢谢。

为了得到您想要的结果,我将执行以下操作:

  • 对ip地址执行全局替换:
    :%s/0/1/g

  • 使用“全局”命令对相关行执行一些类似宏的操作:
    :g/\v(邮件| ftp)/普通yypviwr$r2

    这将复制包含“mail”或“ftp”的每一行,用空格替换新行的第一个单词,最后用“2”替换最后一个字符


  • 有关“全局”命令的更多帮助,请参见
    :h:g

    请编辑它,然后执行!问题是什么?有很多记录。我想找到一种方法来搜索和替换它…比如:s/string/newstring/g,但也添加一个带有exstra a记录的新行。如果只有几条线,我就不会问了。