複数のファイルに行を挿入する

複数のファイルに行を挿入する

私は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

これを行う前に必ずバックアップしてください。

関連情報