find가 하위 디렉토리를 재귀적으로 검색하도록 강제하는 방법

find가 하위 디렉토리를 재귀적으로 검색하도록 강제하는 방법

이 명령을 실행합니다

find -iname *something*

일반적으로 하위 폴더에서 검색하지만 작업 디렉터리에 기준과 일치하는 파일이 있으면 보고만 하고 중지됩니다. 각 하위 폴더에 대해 많은 find 명령을 실행하는 대신 현재 디렉터리의 하위 폴더를 먼저 검색하는 함수를 작성하려고 생각했지만 더 쉬운 방법이 있어야 한다고 생각합니다... 실제로는 이것이 기본 동작이어야 한다고 생각합니다. 내 설치 파일 중 일부에 문제가 있는 것은 아닐까요?

답변1

하다무엇쉘에서 해석되는 글로브를 포함합니까? 이렇게 하면 확장된 파일 이름이 find 명령에 전달됩니다.

find -iname *.txt예를 들어, 다음과 같은 파일을 실행 하면파일.txt그러면 쉘 확장 후 결과 명령은 find -iname file.txt.

이 함정을 피하려면 glob을 탈출하고 리터럴 문자열을 find 명령으로 보낼 수 있습니다.find -iname '*.txt'

답변2

하위 폴더가 기호 링크 뒤에 있는 경우 -L 옵션을 사용해야 합니다. 노력하다

find -L . -iname '*something*'

다음에 따라 맨 페이지를 찾으십시오.

-L이 적용되고 find가 검색 중에 하위 디렉토리에 대한 기호 링크를 찾으면 기호 링크가 가리키는 하위 디렉토리가 검색됩니다.

관련 정보