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).