Afficher le détail des caractères d'une chaine de texte ou d'un fichier
Le script suivant permet d'afficher, par caractères, le nombre de fois qu'il est utilisé.
$ cat compteCaracteres.awk
BEGIN {
RS = "\n"
}
{
split($0, tab, "")
for (var in tab) {
tab2[tab[var]]+=1
}
}
END {
for (var in tab2) {
printf "%1s --> %6d\n" , var , tab2[var]
}
exit 0
}
Exemple :
$ echo "ceci est un test" | awk -f compteCaracteres.awk
u --> 1
i --> 1
n --> 1
--> 3
c --> 2
e --> 3
s --> 2
t --> 3
On peut également effectuer un tri sur le résultat :
$ echo "ceci est un test" | awk -f compteCaracteres.awk | sort
--> 3
c --> 2
e --> 3
i --> 1
n --> 1
s --> 2
t --> 3
u --> 1
En utilisant un fichier en entrée :
$ cat file
TARGUANT
LOGOS
SOCRATISERONS
TEMPORISERENT
PLASTIQUAIENT
CORROBORER
BOTTELES
LIGOTA
SATINERONT
HYPNOTISERA
Affichage du résultat avec un tri décroissant sur le nombre de fois que le caractère est utilisé
$ cat file | awk -f compteCaracteres.awk | sort -b -n -k 3 -r
T --> 13
O --> 12
R --> 11
E --> 10
S --> 9
A --> 8
N --> 7
I --> 7
L --> 4
P --> 3
G --> 3
U --> 2
C --> 2
B --> 2
Y --> 1
Q --> 1
M --> 1
H --> 1
Ajouter un commentaire