すべてのサブディレクトリで名前のあるすべてのファイルを検索したいと思います。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/*"