1

我需要用正则表达式替换 named.conf 中的这个语句

masters {
        10.11.2.1;
        10.11.2.2;
};

我所有使用 sed/vi 的方法都不起作用

%s/masters.*\}\;//g 

不匹配。还尝试使用 /s \s 等来匹配换行符。

4

1 回答 1

1

在 vim 中,您可以使用 强制模式匹配换行符\_例如:

%s/masters {\_[^}]*};//g

.*用更保守的东西替换是很重要的,比如[^}]*前缀为\_,因为*它是贪婪的,所以\_.*会尝试将所有内容都匹配到文档的末尾。

于 2013-05-15T20:20:36.607 回答