Sed替换返回错误

时间:2017-12-23 02:14:36

标签: bash sed quoting

find ./ -type f -exec sed -i -e ’s/var\/www\/html/var\/www\/this_new_html/g’ {} \;

我尝试运行以上内容来替换所有具有以下内容的文件

include_once '/var/www/html/inc/functions.php';

include_once '/var/www/this_new_html/inc/functions.php';

我有很多包含行,所以使用批量替换sed替换会很好但是当我运行代码时

find ./ -type f -exec sed -i -e ’s/var\/www\/html/var\/www\/this_new_html/g’ {} \;

错误打印输出

sed: -e expression #1, char 32: unknown option to `s'

如何更改以使其更换

1 个答案:

答案 0 :(得分:3)

请勿使用,请使用单引号'。另外,我建议在使用路径时使用不同的分隔符。使用#可以显着提高可读性:

find . -type f -exec sed -i 's#var/www/html#var/www/this_new_html#g' {} +