次のような長いフォルダのリストがあります。
001_bat_3513
002_mon_3213
003_bat_3515
004_btt_3540
005_bat_4513
055_bpt_8523
056_bot_3513
058_bat_1513
.
.
このリストから:名前に「bat」部分を含むフォルダ(およびすべてのコンテンツ)をどのようにコピーしますか?
答え1
これを達成するためにシェルワイルドカードを使用できます。
cp -rp *bat*/ /destination/
名前に含まれるディレクトリ*bat*/
に展開されます。bat
または を使用すると、find
ファイルが多すぎてコマンドラインが長すぎてエラーが発生しても機能します。
find . -maxdepth 1 -type d -name '*bat*' -exec cp -rpt /destination {} +