디렉토리 내에서 일부 파일을 찾으려고합니다. 기본적으로 찾기 command
는 내가 지정한 디렉토리와 하위 디렉토리를 검색합니다.
내가 사용하려고 depth/maxdepth
하고 prune
있지만, 아무것도이를 극복하는 데 도움이되지 않습니다. 누군가 솔라리스에서 깊이 / 자루를 사용하는 올바른 방법을 지적 할 수 있습니까?
내 코드는 다음과 같습니다
find file_path -depth 1 -name '*.log'
다음과 같은 오류가 발생합니다.
find: bad option 1
find: [-H | -L] path-list predicate-list
답변
이름이 모호한 두 가지 관련없는 옵션을 혼동하고 있습니다.
-depth
아무 주장도하지 않습니다. 존재하는 경우find
디렉토리 자체를 처리하기 전에 디렉토리의 내용을 처리하도록 지시 합니다.-maxdepth N
(N은 정수) 재귀를 N 레벨의 서브 디렉토리로 제한합니다.
이 -maxdepth
옵션은의 일부 버전에서는 발견 find
되지만 Solaris 에서는 확장 되지 않습니다. 하위 디렉토리에서는 사용하지만 최상위 디렉토리는 제외하고 표준 옵션 만 사용하여 find
재귀없이 디렉토리를 처리하는 방법이 -prune
있습니다. 최상위 디렉토리와 일치하는 유일한 방법은 이름을 기준으로하므로 이름을 지정하십시오 .
(하위 디렉토리의 이름이 아님).
find /directory/to/traverse/. -name . -o \
-type d -prune -o \
-name '*.log' -print