Linuxの特定のファイルを見つけてディレクトリにコピーする

Linuxの特定のファイルを見つけてディレクトリにコピーする
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

関連情報