abc-1.0.zip
kncb-1.0.zip
jenk-1.1.zip
上記のファイルをすべて動的に見つけて、jenk-1.1.zip以外のディレクトリにコピーしたいと思います。次のコマンドを試しましたが、ファイル(jenk * .zip)もコピーします。 jenk-1.1.zipを除く上記のすべてのファイルを上記のディレクトリ(test_dir)にコピーするには、コマンドが必要です。
find . \( -name *abc*.zip-o -name *knc*.zip ! -name "*jenk*.zip"\) ! -path '*/test_dir/*.jar' -exec cp -ar {} ./test_dir \;
答え1
-iname *.zip
すべてのzipファイルを探しています。
! -iname "jen*.zip"
すべてのjenk*ファイルを無視
zipファイルのみを探している場合は、jarファイルを除外する必要はありません。ファイルを検索する場合、切り替え(再帰的)find -type f
する必要はありません()。cp -r
find . -type f \( -iname "*.zip" ! -iname "jen*.zip" \) -exec cp -av {} ~/test \;
答え2
cp $(find . -maxdepth 1 -name abc-1.0.zip -o -name kncb-1.0.zip) test_dir
ファイルがあるディレクトリで実行します。サブディレクトリに移動するには、そのディレクトリを削除してくださいmaxdepth 1
。