尝试用另一个字符串(替换str)替换文件中与下划线不相邻的所有字符串(str)。这不起作用 -
sed -i 's/^(?!_str_|_str|str_)(str)$/replacementstr/g' /home/somefile.txt
答案 0 :(得分:3)
你根本不需要负面的预测 - 如果没有它,你的状态机会更有效率(即使你的引擎做了<你意味着你最好不要使用它) / em>支持他们)。
sed -r 's/(^|[^_])str([^_]|$)/\1replacement\2/g'