찾기 실행 중에 디렉토리를 무시하는 방법은 무엇입니까? 예를 들어 다음과 같은 것이 있습니다.
.
├── fold
│ └── something
└── something
접어/뭔가- 목차 . /무엇- 문서
나는 그렇습니다 find . -name "something"
그리고 나는 그것을 무시하지 않을 것입니다접어/뭔가디렉토리이기 때문에
답변1
로 테스트합니다 -type d
. 로 테스트의 의미를 바꿉니다 !
.
그래서:
find . -name something ! -type d
something
현재 디렉토리 또는 그 아래에서 호출된 모든 것을 찾을 수 있지만 아무것도 보고하지 않습니다.목차부르다 something
.
구체적으로 무시 하려면 ./fold/something
부정적인 -path
테스트를 사용하십시오.
find . -name something ! -path ./fold/something
테스트에 사용하는 경로 이름은 -path
최상위 검색 경로( ) .
의 전체 경로와 일치 해야 합니다.
find
이름이 지정된 디렉터리에 대한 보고를 중지 something
하고 해당 디렉터리에 들어가지 못하게 하려면 다음을 사용 하세요 -prune
.
find . \
-name something -type d -prune -o \
-name something -print
또는 동등하게,
find . -name something \( -type d -prune -o -print \)
그러면 먼저 something
검색 트리에서 호출되어 발견된 디렉터리가 모두 정리됩니다. 현재 확인 중인 경로가 이라는 디렉터리 something
가 아니라 이라는 다른 디렉터리 인 경우 something
해당 경로를 인쇄합니다. 파일 유형에 관계없이( 검색 트리에서 제거되었기 때문에) something
아래에서 호출된 항목은 찾지 않습니다 ../fold/something
./fold/something