하위 디렉터리에 있는 파일을 검색하시겠습니까?

하위 디렉터리에 있는 파일을 검색하시겠습니까?

상위 폴더와 하위 폴더의 트리가 있습니다. 하위 디렉터리에는 비슷한 이름이 있습니다. 하위 디렉토리에 저장된 파일을 검색하고 싶습니다. 어떻게 해야 하나요?

예를 들어:

Parent-Directory
  Sub-Directory 1
    input save bad
  Sub-Directory 2
    input save bad
  Sub-Directory 3 
    input save bad

각 하위 디렉터리에는 input, save, bad라는 세 개의 폴더가 있습니다. 잘못된 하위 디렉터리에 있는 파일만 검색하고 싶습니다.

답변1

다음을 사용하여 이름이 지정된 디렉터리보다 한 수준 아래의 find모든 디렉터리에서 재귀 검색을 수행 한다고 가정합니다.badMain Directory

find 'Main Directory'/*/bad ...rest of find options...

find검색하고 싶은 내용을 말하지 않았기 때문에 나머지 옵션은 생략했습니다 .

find여러 디렉토리를 검색 시작점으로 사용하는 기능. 여기에서는 쉘에 의해 다양한 디렉토리 경로로 확장될 파일 이름 와일드카드 패턴을 제공합니다 bad.


다음 디렉토리 안이나 아래에 있는 모든 (일반) 파일의 경로 이름을 인쇄한다고 가정하십시오.

find 'Main Directory'/*/bad -type f

bad디렉터리에 내부를 살펴봐야 할 하위 디렉터리가 없고 처리해야 하는 파일 수가 수천 개가 아닌 경우 다음을 사용할 수 있습니다.

'Main Directory'/*/bad/*

(마지막 파일이 *처리해야 하는 파일의 파일 이름과 일치한다고 가정) 사용해야 하는 유틸리티가 무엇이든 상관없습니다. 예를 들어 다음을 사용합니다 ls.

ls 'Main Directory'/*/bad/*

답변2

귀하의 질문이 불분명하지만 "BAD" 하위 디렉터리에서 파일을 찾으려는 경우 홈 디렉터리에서 다음 명령을 실행할 수 있습니다.

find . -maxdepth 2 -type d -name "BAD" 

또는 사용

find . -name "*BAD*" -type f -o -name "*BAD*" -type d

설명하다

-o 명령을 내리거나 파일 경로 뒤의 매개변수를 완전히 삭제하므로 -name을 찾으십시오." -type f -o -type d 계산 찾기. (-name "나쁜"-유형 f) -o (-유형 d).

대부분의 사용자는 다음과 같은 것을 선호합니다.

find . -name  "*BAD*" -type f -o -name "*BAD*" -type d

계산 결과는

find . (-name  "*BAD*" -type f) -o (-name "*BAD*" -type d)

-이름"나쁜"문자열이 포함된 이름을 검색합니다.

간단하게 유지하려면:

find . -maxdepth 2 -o -name "*BAD*"

관련 정보