查找特定文件并将其复制到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.

相关内容