0

ソース サブディレクトリの特定のセット (数百個) から「フラットな」ディレクトリ構造にファイルを定期的にコピーする必要があります。つまり、複数のソース ディレクトリのすべてのファイルを 1 つの宛先ディレクトリにコピーしたいのですが、できません。ソースサブディレクトリを調べて、宛先ディレクトリにサブディレクトリフォルダー構造を再作成しないファイルをコピーできるコピー方法を見つけたようです。

どんな助けでも感謝します。

4

1 に答える 1

0
sourcedir=/root/of/subdirectory/set
destdir=/where/the/files/go

find $sourcedir -type f -print | while read file; do cp $file $destdir; done

または (上書きを防ぐ)

find $sourcedir -type f -print | while read file; do base=$(basename $file); test -f $destdir/$base || cp $file $destdir; done

$sourcedir 内のファイルまたはサブディレクトリの名前にスペースが含まれている場合、これは機能しないことに注意してください。

于 2013-12-11T16:01:52.980 に答える