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
.