내 백업 시스템에서 파일을 검색하기 위해 "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
해당 작업을 수행하면 find
8레벨 깊이의 폴더로 내려가는 것을 방지할 수 있습니다. 레벨 9 위의 것들은 다시는 볼 수 없습니다.