すべてのサブディレクトリで、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/*"

おすすめ記事