이 파일을 찾아 디렉토리(test_dir)에 복사해 보십시오.
abc-1.0.zip
kncb-1.0.zip
jenk-1.1.zip
이 모든 파일을 동적으로 찾아서 디렉토리에 복사하고 싶습니다. 다음 명령을 시도했지만 마지막 파일(jenk*.zip)만 복사합니다. 위의 모든 파일을 언급된 디렉터리(test_dir)에 복사하려면 명령이 필요합니다.
find / -type f -name "*abc*.zip" -o -name "*kncb*.zip" -o -name "*jenk*.zip" ! -path '*/test_dir/*.jar' -exec cp -ar {} ./test_dir \;
답변1
( )
수술실을 중심으로 애플리케이션을 구성 해야 합니다 .
설명은 매뉴얼 페이지에서 찾을 수 있습니다:
-a는 암시적으로(예: 두 테스트 사이에 명시적인 연산자가 없음) 또는 명시적으로 지정된 경우 -o보다 우선합니다. 이는 . -name afile -o -name bfile -print를 찾으면 파일이 인쇄되지 않음을 의미합니다.
예:
touch afile bfile
아니요 ( )
:
find . -name afile -o -name bfile -print
./bfile
-name bfile
과 사이에 암시적 -a가 있습니다 -print
.
find . -name afile -o -name bfile -a -print
./bfile
( )
결과는 예상대로입니다.
find . \( -name afile -o -name bfile \) -print
./afile
./bfile
귀하의 암시 적 값 은 ~ 사이 -a
입니다 .-o -name "*jenk*.zip"
! -path '*/test_dir/*.jar'