Afficher le détail des caractères d'une chaine de texte ou d'un fichier

Afficher le détail des caractères d'une chaine de texte ou d'un fichier

By ronan, 22 avril, 2013

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

Etiquettes