Eu precisaria de um programa que produza o número de caracteres diferentes em um arquivo. Exemplo:
> stats testfile
' ': 207
'e': 186
'n': 102
Existe alguma ferramenta que faça isso?
command-line
files
text-processing
Mnementh
fonte
fonte
sed 's/\(.\)/\1\'$'\n/g' text.txt
sed
fazer isso, mas a solução Python de Jacob Vlijm funcionou bem para mim.A solução de Steven é boa e simples. Não é tão eficiente para arquivos muito grandes (arquivos que não cabem confortavelmente em cerca de metade da sua RAM) devido à etapa de classificação. Aqui está uma versão awk. É também um pouco mais complicado, porque ele tenta fazer a coisa certa por alguns caracteres especiais (novas linhas,
'
,\
,:
).Aqui está uma solução Perl com o mesmo princípio. Perl tem a vantagem de poder classificar internamente. Além disso, isso não contará corretamente uma nova linha extra se o arquivo não terminar em um caractere de nova linha.
fonte
Uma versão lenta, mas relativamente amiga da memória, usando ruby. Cerca de uma dúzia de MB de RAM, independentemente do tamanho da entrada.
fonte