Uma maneira ... (editada para evitar contar a mesma palavra duas vezes)
$ echo "my nice name is Mike Meller" | tr ' ' '\n' | sort -f | uniq -i | sed -nr 's/^([a-z]).*/\U/Ip' | uniq -c | sort -r
3 M
2 N
1 I
-
tr ' ' '\n'muda espaços para novas linhas -
sort -fclassifica as linhas para que as mesmas entradas estejam juntas, mesmo se o caso for diferente -
uniq -iremove palavras duplicadas, ignorando o caso -
sed -nr 's/^([a-z]).*/\U/Ip'remove tudo, menos a primeira letra, altera todas as letras para maiúsculas e não imprime a linha se não começar com uma letra -
uniq -cconta as linhas que são as mesmas -
sort -rsort descendente
(substitua echo "my nice name is Mike Meller" por cat name-of-your-file )