모든 하위 디렉터리에서 exampleDir이라는 이름의 모든 파일을 찾습니다.

모든 하위 디렉터리에서 exampleDir이라는 이름의 모든 파일을 찾습니다.

모든 하위 디렉터리에서 이름이 있는 모든 파일을 찾고 싶습니다.ExampleDir

예를 들어.

+ ParentDirA
   + ChildDirA
     - file1.txt
   + ExampleDir
     - file2.txt
+ ParentDirB
   + ChildDirB
     - file3.csv
   + ExampleDir
     - file4.csv

명령을 실행하면 file2.txt 및 file4.csv가 반환되어야 합니다.

나는 다음을 시도했습니다 :

find . -type d -name "ExampleDir" | xargs find -type f
find . -type d -name "ExampleDir" -exec find -type f {} \;
find . -type d -name "ExampleDir" -exec find -type f {} +

그들은 모두 다음을 반환합니다:

find: paths must precede expression

이 경로(내 생각에는 논리적이라고 생각함)로 가려면 find 명령에 경로를 전달하는 방법을 알아내야 합니다.

더 좋은 방법이 있나요?

답변1

단순화를 고려해보세요GNU에 의해 발견됨-path확장하다:

find . -type f -path "*/ExampleDir/*"

답변2

나는 다음에서 답을 찾았습니다. xargs를 첫 번째 인수로 전달하도록 설정

find . -type d -name "ExampleDir" | xargs -I {}  find {} -type f

관련 정보