我在不同的目录中有一堆同名“abc.php”的文件。我想查找所有文件并替换每个文件中的特定文本行,即“hello”替换为“bye”。我必须更新的每个文件中的文本都重复多次。有什么办法吗?
答案1
这将递归地查找当前目录中的所有 *.php 文件.
,并在找到的每一行中将“hello”多次替换为“bye”。
find . -name "*.php" -print0 | xargs -0 sed -i 's/hello/bye/g'
在应用此操作之前,请确保备份当前目录。
或者替代方案:
find . -name "*.php" -print0 | xargs -0 sed -i'.bak' 's/hello/bye/g'
这将在应用替换之前创建一个备份,例如“abc.php”->“abc.php.bak”。