Le but du script que je cherche est d'extraire le nombre de mots utilisant chaque lettre de l'alphabet de A à Z dans un fichier texte mis en paramètre $1.
en faite, j'ai retrouvé un code script mais ce dernier compte le nombre de mots sur chaque ligne. La voici ci-dessous:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#!/bin/bash 
 
#On détruit la valeur de la variable i (en fait une suppression du contenu) quand cette dernière prendra les valeurs comprises entre  A à Z
 
for i in {A..Z}
do
	unset ${i}
done
 
#On crée alors une boucle pour parcourir toutes les lignes contenues dans le fichier texte à analyser
 
while read line 
#débuter le comptage de chaque lettre par ligne en commencant par zéro (0)
do
	XX=${line//[^A-Z]/}
	i=0
 
while [[ i -lt ${#XX} ]]
#Incrémenter le comptage tant que la valeur du comptage de chaque lettre est inférieure au nombre de lignes contenu dans le fichier
do
	((${XX:$i:1}+=1))
	((i+=1))
done
done <$1
 
#On demande au script d'afficher, pour chaque lettre de l'alaphabet en commencant de A à Z (Tout en Majuscule), le nombre de fois que la lettre est affichée.(Les valeurs de A à Z seront données succesivement à la variable i)
 
for i in {A..Z}
do
	echo ${!i=0} "mots contiennent la lettre" $i "dans le fichier $1"
 
done
Si vous pouvez bien m'aider à le modifier ou trouver carrément un autre code script pouvant faire celà.

Le script doit afficher de la façon suivante:

45 mots utilisent la lettre B
30 mots utilisent la lettre Z
29 mots utilisent la lettre A
.........
etc...

Dans l'ordre de la plus utilisée à la moins utilisée.