我想在几个文件中执行字符串替换。
该字符串是特殊的,因为它的形式 use module_plotting
,我需要避免在遇到类似 的字符串时进行替换use module_plotting_debug
。
预先感谢您的回答
答案1
使用单词边界表达式:
sed 's/\<use module_plotting\>/use module_plotting_debug/'
零宽度模式\<
和\>
将在“单词”的边界上匹配,即在非单词字符和带有 的单词字符之间\<
以及单词字符和带有 的非单词字符之间\>
。
“单词字符”是任何字母数字字符(可能考虑到当前区域设置,我对此不确定)。
我的re_format(7)
手动的这么说 [[:<:]]
并且[[:>:]]
应该更便携,但这些似乎不适用于sed
我的系统上的 GNU。