如何用当前目录下的另一个字符串替换每次出现的字符串?
示例:我想在下面的每个文件中用 www.fubar.ftw.com
替换每次出现的 www.fubar.com
我的当前目录。
从目前的研究来看,我想出了
sed -i 's/www.fubar.com/www.fubar.ftw.com/g' *.php
最佳答案
你在正确的轨道上,使用 find
找到文件,然后使用 sed
编辑它们,例如:
find . -name '*.php' -exec sed -i -e 's/www.fubar.com/www.fubar.ftw.com/g' {} \;
注释
.
表示当前目录 - 即在这种情况下,在当前目录中及以下搜索。- 对于某些版本的
sed
,您需要为-i
选项指定扩展名,用于备份文件。 -exec
选项后跟要应用于找到的文件的命令,并以分号结束,分号必须转义,否则 shell 在将其传递给 find 之前将其消耗掉.
关于string - 在我当前目录下的所有文件中用另一个字符串替换一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7450324/