Centos

查找名稱為 ExampleDir 的所有子目錄中的所有文件

  • June 19, 2017

我想在所有具有名稱的子目錄中查找所有文件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 命令。

有沒有更好的辦法?

考慮使用GNU find 的-path擴展來簡化事情:

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

我在以下位置找到了答案: Make xargs pass as first parameter

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

引用自:https://unix.stackexchange.com/questions/371885