查找所有子目录中名为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

相关内容