sed与文件中的负向前瞻

时间:2015-04-06 22:24:43

标签: regex sed

尝试用另一个字符串(替换str)替换文件中与下划线不相邻的所有字符串(str)。这不起作用 -

sed -i 's/^(?!_str_|_str|str_)(str)$/replacementstr/g' /home/somefile.txt

1 个答案:

答案 0 :(得分:3)

你根本不需要负面的预测 - 如果没有它,你的状态机会更有效率(即使你的引擎做了<你意味着你最好不要使用它) / em>支持他们)。

sed -r 's/(^|[^_])str([^_]|$)/\1replacement\2/g'