Localiza todos os arquivos em todos os subdiretórios com o nome ExampleDir

0

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?

    
por denormalizer 19.06.2017 / 02:38

2 respostas

0

Considere simplificar as coisas com % do GNU find extensão-path :

find . -type f -path "*/ExampleDir/*"
    
por 19.06.2017 / 02:58
0

Eu encontrei minha resposta em: Faça o xargs passar como primeiro parâmetro

find . -type d -name "ExampleDir" | xargs -I {}  find {} -type f
    
por 19.06.2017 / 02:45