我想找到所有子目录中具有名称的所有文件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