find -ception:
find . -maxdepth 1 -mindepth 1 -type d -print0 | xargs -0 -L1 -P0 -i find {} -type f -name '*.pptx'
find . -maxdepth 1 -type f -name '*.pptx'
-
-maxdepth 1-mindepth 1restringe a pesquisa ao conteúdo imediato do diretório. Procuramos todos os subdiretórios (-type d). - Em seguida, usamos
xargspara executarfindem todos os subdiretórios.-0em combinação com-print0cuida de quaisquer caracteres especiais que possam ocorrer em nomes de arquivos. -
-P0informaxargspara executar o máximo definds em paralelo. Você pode restringi-lo para executar no máximo N processos usando-PN. - Por fim, como já executamos
findem todos os subdiretórios, finalmente executamos umfindno diretório atual (e apenas no diretório atual - daí-maxdepth 1).
Palavra de cautela: find provavelmente será intensivo em I / O. Há apenas muito benefício que você pode obter ao executar várias instâncias em paralelo.
Além disso, a saída dos muitos find s pode ficar confusa, reduzindo assim a utilidade dessa abordagem.