S. Carli Asked: 2018-04-24 02:53:30 +0800 CST2018-04-24 02:53:30 +0800 CST 2018-04-24 02:53:30 +0800 CST 使用 sed 替换字符串,但当它是子字符串时避免替换 [重复] 772 我想在几个文件中执行字符串替换。 该字符串是特殊的,因为它在表单中 use module_plotting ,我需要在遇到类似use module_plotting_debug. 感谢提前提供答案 regular-expression sed 1 个回答 Voted Best Answer Kusalananda 2018-04-24T03:02:25+08:002018-04-24T03:02:25+08:00 使用词边界表达式: sed 's/\<use module_plotting\>/use module_plotting_debug/' 零宽度模式\<和\>将匹配“单词”的边界,即在非单词字符和带有 的单词字符\<之间以及在单词字符和带有 的非单词字符之间进行匹配\>。 “单词字符”是任何字母数字字符(可能考虑到当前的语言环境,我对此不确定)。 我的re_format(7)手册是这么说的, [[:<:]]并且[[:>:]]应该更便携,但这些似乎不适用于sed我系统上的 GNU。
使用词边界表达式:
零宽度模式
\<
和\>
将匹配“单词”的边界,即在非单词字符和带有 的单词字符\<
之间以及在单词字符和带有 的非单词字符之间进行匹配\>
。“单词字符”是任何字母数字字符(可能考虑到当前的语言环境,我对此不确定)。
我的
re_format(7)
手册是这么说的,[[:<:]]
并且[[:>:]]
应该更便携,但这些似乎不适用于sed
我系统上的 GNU。