Perl para o resgate!
perl -lne '$h{ join "", sort split // }++ }{ print "$h{$_} $_" for keys %h' < input_file
-
-n
lê a linha de entrada por linha -
-l
remove novas linhas da entrada, adiciona novas linhas à saída -
split //
divide a string em caracteres -
sort
classifica-os (portanto, exclusividade) -
join ""
cria de volta uma única string da lista de caracteres -
%h
é uma tabela de hash, chaves são as strings de caracteres ordenados, valores são números de ocorrências: aumentada (++
) em cada encontro -
}{
"Cumprimento de esquimó" - separa o código para ser executado após o esgotamento da entrada