J'aurais besoin d'un programme qui génère le nombre de caractères différents dans un fichier. Exemple:
> stats testfile
' ': 207
'e': 186
'n': 102
Existe un outil, qui fait ça?
command-line
files
text-processing
Mnementh
la source
la source
sed 's/\(.\)/\1\'$'\n/g' text.txt
sed
, mais la solution Python de Jacob Vlijm a bien fonctionné pour moi.La solution de Steven est bonne et simple. Ce n'est pas si performant pour les très gros fichiers (les fichiers qui ne tiennent pas confortablement dans environ la moitié de votre RAM) en raison de l'étape de tri. Voici une version awk. Il est aussi un peu plus compliqué , car il essaie de faire la bonne chose pour quelques caractères spéciaux (sauts de ligne,
'
,\
,:
).Voici une solution Perl sur le même principe. Perl a l'avantage de pouvoir trier en interne. De plus, cela ne comptera pas correctement une nouvelle ligne supplémentaire si le fichier ne se termine pas par un caractère de nouvelle ligne.
la source
Une version lente mais relativement conviviale, utilisant du rubis. Environ une douzaine de Mo de RAM, quelle que soit la taille d'entrée.
la source