find 명령이 지정된 디렉토리를 제외하지 않는 것 같습니다.

find 명령이 지정된 디렉토리를 제외하지 않는 것 같습니다.

find명령은 디렉터리 제외를 허용해야 합니다. 다음 명령을 시도했습니다.

find -name "clang" -not -path "./mnt/*

아직 디렉토리를 검색하는 중입니다. 내가 놓친 게 무엇입니까?

find -not -path의 출력

답변1

-not -path './mnt/*'(또는 )을 사용한다고 해서 해당 디렉토리 로 내려가는 것을 ! -path './mnt/*'막는 것은 아니며 단지 디렉토리에 있는 이름으로는 아무 작업도 수행하지 않는다는 의미일 뿐입니다.findmnt

find디렉토리를 완전히 무시 하려면 다음을 사용하십시오 -prune.

find . -type d -name mnt -prune -o -type f -name clang -print

또는

find . -path ./mnt -prune -o -type f -name clang -print

첫 번째 선택 항목을 건너뜁니다.어느 mnt디렉토리이고, 두 번째 디렉토리는 최상위 디렉토리를 건너뜁니다.

답변2

작은따옴표를 사용하세요.

find -name "clang" -not -path './mnt/*'

관련 정보