정확히 8레벨 깊이의 파일 이름을 찾는 방법은 무엇입니까?

정확히 8레벨 깊이의 파일 이름을 찾는 방법은 무엇입니까?

내 백업 시스템에서 파일을 검색하기 위해 "find" 명령을 사용하고 있습니다. 특정 문자열(예: 'XYZ')의 깊이는 정확히 8층입니다.

이를 수행할 수 있는 find 구문이 있습니까? 감사합니다.

답변1

이러한 옵션과 함께 GNU find또는 기타 소프트웨어를 사용한다고 가정하면 ,find

find . -mindepth 8 -maxdepth 8 -name '*XYZ*'

해당 명령이 없으면 find다음 POSIX 버전을 사용할 수 있습니다.

# must contain exactly 7 slashes
find . -path '*/*/*/*/*/*/*/*' -prune -name '*XYZ*'

-path '*/*/*/*/*/*/*/*'최소 8레벨 깊이(최소 7개 슬래시 포함, 깊이 0은 .자체이고 깊이 1은 현재 디렉터리의 파일)인 경로를 선택하고 -prune해당 작업을 수행하면 find8레벨 깊이의 폴더로 내려가는 것을 방지할 수 있습니다. 레벨 9 위의 것들은 다시는 볼 수 없습니다.

관련 정보