string - 在我当前目录下的所有文件中用另一个字符串替换一个字符串

标签 string bash sed

如何用当前目录下的另一个字符串替换每次出现的字符串?

示例:我想在下面的每个文件中用 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/

相关文章:

BASH 脚本暂停/继续脚本中的进程

regex - Bash:用 curl 结果替换数组值

linux - linux中的数据操作

regex - 如何从 Perl 字符串中删除特定字符?

java - 字符串时间复杂度

bash - 如何根据多个嵌入数字对文件路径进行排序?

linux - 如何使用shell脚本将两列分成数组

linux - bash sed 与/^$/d;G 命令

java - Java 初级: Method doesn't recognise user input string passed to it

c# - 将字符串拆分为特定部分