如何在Linux webserver上以递归方式查找和替换名为index.php的文件?

时间:2015-06-08 14:27:00

标签: linux bash

我正在尝试在Linux网络服务器上执行递归查找和替换(搜索100,000多个文件,但是我的SSH会话超时需要很长时间。有没有办法搜索名为“index.php”的文件?这会大大减少执行时间。

这是我正在使用的命令:

$     find . -type f -print0 | xargs -0 sed -i “s%Apples%Oranges%g”

1 个答案:

答案 0 :(得分:1)

修改find命令以添加-name选项:

find . -name 'index.php' -type f -print0 | xargs -0 sed -i "s/Apples/Oranges/g"

(我将-name谓词放在第一位,原则上它比任何需要stat()文件的内容要快一些,但很可能是find优化无论如何。)

另外,考虑xargs的并行调用;例如使用GNU xargs

find . -name 'index.php' -type f -print0 \
  | xargs --max-procs `getconf _NPROCESSORS_ONLN` -0 sed -i "s/Apples/Oranges/g"
相关问题