Bashスクリプトを使用して2つのフォルダ間のファイルを比較してコピーする

Bashスクリプトを使用して2つのフォルダ間のファイルを比較してコピーする

親フォルダとサブフォルダがあります。親フォルダとサブフォルダを比較し、欠落しているファイルを親フォルダからサブフォルダにコピーする必要があります。ディレクトリ以外のファイルのみをコピーする必要があります。

答え1

使用rsync。この種の作業のために設計されています。例えばrsync * Child/

何らかの理由でシェル組み込みのみ使用できる場合は、次のことができます。

cd /path/to/Parent
for f in *; do
  [ -f "$f" ] && [ ! -e "Child/$f" ] && cp "$f" Child/
done

英語:「$ f」が通常のファイルの場合は、「$ f」を使用して現在のディレクトリのすべてのファイルを繰り返します。そしてChild/にない場合はそこにコピーされます。

関連情報