Isto irá encontrar todos os diretórios com o nome "templates" abaixo do diretório atual e listará todos os arquivos neles
find -name 'templates' -type d -execdir ls {} \;
Eu tenho pastas diferentes com o nome "templates" em vários locais no meu código. Eu preciso listar todos os arquivos dentro das pastas com o nome "templates"
Todos os arquivos em templates pastas, de forma recursiva:
find . -path '*/templates/*'
Se você não quiser os arquivos nos subdiretórios das pastas templates (exceto os templates/foo/templates/bar , é claro), use a extensão -regex de algumas find implementations:
find . -regex '.*/templates/[^/]*'
Se você quiser apenas arquivos regulares , adicione um -type f . Para qualquer tipo de arquivo, exceto o diretório, ! -type d .
Se você se importa apenas com os nomes dos arquivos e não com o caminho que leva a eles, com GNU find , inclua -printf '%f\n' (e talvez pipe em sort -u , assumindo que os nomes de arquivo não contenham caracteres de nova linha , para obter nomes exclusivos).