catコマンドを使用して、ファイルの内容をディレクトリ内のすべてのファイルに(再帰的に)コピーします。

catコマンドを使用して、ファイルの内容をディレクトリ内のすべてのファイルに(再帰的に)コピーします。

catコマンドを使用して、ファイルの内容をディレクトリの下のすべてのファイル(再帰的に - すべてのファイルを意味します)にどのようにコピーできますか?

ベストアンサー1

ディレクトリ階層全体のすべてのファイルをファイルの内容で上書きするには、次の手順を実行しますdata

find . -type f ! -path './data' -exec sh -c 'tee "$@" <data >/dev/null' sh {} +

欲しいなら追加コンテンツをdata読み込み、tee -a一番上に使用します。

これは! -path ./data、読んでいるファイルが変更されるのを防ぐためです。

サブシェルはここから複数のパス名を取得し、findそれを使用してそのファイルにteeコンテンツを配布します。data

cat代わりに使用してくださいtee

find . -type f ! -path './data' -exec sh -c '
    for pathname do
        cat data >"$pathname"
    done' sh {} +

ここで追加データを>>代わりに使用してください>

安全なディレクトリで実行してください。ホームディレクトリでこれを実行すると中断されます。みんなあなたのファイル。これを回復するには、最近のバックアップから復元する必要があります。コマンドの機能や用途を知らずにインターネットからコピーして貼り付けたコマンドを実行しないでください。

関連:

おすすめ記事