Considere simplificar as coisas com % do GNU find extensão-path
:
find . -type f -path "*/ExampleDir/*"
Eu quero encontrar todos os arquivos em todos os subdiretórios que tem um nome ExampleDir
por exemplo,
+ ParentDirA
+ ChildDirA
- file1.txt
+ ExampleDir
- file2.txt
+ ParentDirB
+ ChildDirB
- file3.csv
+ ExampleDir
- file4.csv
O comando de execução deve retornar: file2.txt e file4.csv
Eu tentei o seguinte:
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 {} +
Todos eles retornam:
find: paths must precede expression
Se eu fosse por esse caminho (o que eu acho que é lógico) eu teria que descobrir como canalizar o caminho para o comando find.
Existe uma maneira melhor?
Considere simplificar as coisas com % do GNU find extensão-path
:
find . -type f -path "*/ExampleDir/*"
Eu encontrei minha resposta em: Faça o xargs passar como primeiro parâmetro
find . -type d -name "ExampleDir" | xargs -I {} find {} -type f