想要使用 SED 命令替换多个文件中的空格单词
我的多个目录中的许多文件中有一个单词“Danny”,带有单引号,我想将其更改为“Danny Samuel”
因为我的新词中有一个空格,所以这个命令不起作用
find . -type f -exec sed -e 's/'Danny'/'Danny Samuel'/g' -i.php '{}' +
答案1
单引号内不能有单引号,'
in'Danny
会关闭引号。
find . -type f -exec sed -e 's/'Danny'/'Danny Samuel'/g' -i.php '{}' +
^^ !!!!! ^ !!!!!!!!!!!! ^^
quoted quoted quoted
unquoted unquoted
写下来:
find . -type f -exec sed -i.php -e "s/'Danny'/'Danny Samuel'/g" {} +
(请注意,.php
作为备份文件的扩展名,这是非常意外的)。