在多个文件中插入行

在多个文件中插入行

我有一个包含 200 个 Wordpress 站点的 CentOS 服务器,现在我想在每个 wp-config.php 文件中插入这一行:

define('DISABLE_WP_CRON', true)

我知道存在“for...do...done”的可能性,但实际上我以前从未使用过这个,我不想破坏所有网站。请帮我!

答案1

如果您只想对当前目录中的文件执行此操作:

for file in $(ls *.php); do echo "define('DISABLE_WP_CRON', true)" >> $file; done

如果您想对从当前目录开始的所有 php 文件执行此操作:

for file in $(find . -type f -name "*.php"); do echo "define('DISABLE_WP_CRON', true)" >> $file; done

或者您可能想在所有文件的开头插入该行,因此您可以这样做:

sed -i '1s/^/define('DISABLE_WP_CRON', true)\n/' *.php

答案2

它会是这样的:

for i in /path/to/*/wp-config.php; do
    echo "define('DISABLE_WP_CRON', true)" >>$i
done

执行此操作之前请务必先进行备份!

相关内容