Isso pode ser feito com gawk
: canalize sua lista de nomes de arquivos através do seguinte (deixado como um exercício / testei com ls -1
, mas não explico ls
(tm)):
gawk -F. '1 {exts[$NF]++} END {for (ext in exts){printf "%s: %s files\n", ext, exts[ext]}}'
Isso pressupõe que tudo o que é seguido por um período não faz parte da extensão, portanto, nomes de arquivos sem contagem de período como extensão total. (Eu acho que deve ser suficiente para alterar 1 {
para (NF>1) {
para obter apenas arquivos com extensões adequadas.