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
.