多くのサブフォルダーを持つトップフォルダーがあります。 「a」という名前です。沢山あります .png
および.jpg
ファイルがあります。 「a」を新しいフォルダ「b」に再帰的にコピーしたいが、.png
および.jpg
ファイル。どうすればそれを達成できますか?
find a \( -name "*.png" -or -name "*.jpg" \) -exec cp {} b \;
for file in $(find a -name "*.jpg" -o -name "*.png")
do
cp ${file} b/${file}
done
一発ギャグ
cp $(find a -name "*.jpg" -o -name "*.png") b
ブレース展開 を使用して、より多くのファイルタイプがある場合は少し短くなります
cp -r source_directory/*.{png,jpg,jpeg} target_directory
これにより、タイプのファイルが存在しない場合は常にエラーが発生します。 を参照してくださいhttps://serverfault.com/a/153893
追加 2>/dev/null
これらのエラーを非表示にする
追加 || :
終了コードを発生させない
cp -r source_directory/*.{png,jpg,jpeg} target_directory 2>/dev/null || :