특정 하위 디렉토리를 찾기 위해 모든 하위 디렉토리를 어떻게 검색합니까? 봅시다 . 어떻게의 하위

최상위 디렉토리 /dir와 많은 하위 디렉토리 가 있다고 가정 해 봅시다 . 어떻게의 하위 디렉토리를 검색 할 /dir하나라는 찾을를 x/x/dir/x/x/x/target?

이 질문은 내가 찾고있는 것과 비슷하지만 정확하게는 아닙니다 : 특정 하위 디렉토리에 대한 명령 찾기 .

파일을 찾지 않고 특정 이름의 디렉토리 만 찾습니다.



답변

시도하십시오 find /dir -type d -name "your_dir_name".

교체 /dir디렉토리 이름 및 대체 "your_dir_name"당신이 찾고있는 이름.

-type d말할 것이다 find에만 디렉토리를 검색 할 수 있습니다.


답변

하나 이상의 디렉토리를 찾고 git 저장소에서 오래된 이메일 주소를 찾는 것과 같은 것을 검색하는보다 일반적인 해결책은 다음 패턴을 확인하십시오.

find . -type d -name .git -print0|\
    xargs -0r -I {} find {} -type f -print0 |\
    xargs -0r grep -e 'my.old@email.address'

답변

echo **/target

또는 한 줄에 하나의 일치를 얻으려면 :

printf %s\\n **/target

이것은 zsh에서 즉시 작동합니다. bash에서는 shopt -s globstar먼저 실행해야 하며 디렉토리에 대한 심볼릭 링크도 통과해야합니다. ksh93에서는 set -o globstar먼저 실행해야합니다 .

디렉토리 또는 디렉토리에 대한 심볼릭 링크 만 일치 시키려면 후행 /(예 :)을 추가하십시오 **/target/. zsh에서는 디렉토리 만 일치하지만 디렉토리에 대한 심볼릭 링크는 일치하지 않으려면 다음과 같이하십시오 **/target(/).

어느 쉘에서나 다음 find명령을 사용할 수 있습니다 .

find . -name target

Linux 및 Cygwin에서는 .옵션입니다. 디렉토리 만 일치 시키려면을 추가하십시오 -type d.