Bon, y a prescription. On peut y aller.

Envoyé par
disedorgue
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
| $ ./dc2.sh /tmp/dc.txt
A - 10 - UTILISA
B - 2 - UTILISABLE
C - -
D - -
E - 12 - UTERINE
F - -
G - -
H - -
I - 17 - UTILISA
J - -
K - -
L - 13 - UTILISABLE
M - 2 - UTILEMENT
N - 8 - USURPONS
O - 1 - USURPONS
P - 1 - USURPONS
Q - -
R - 6 - USURPONS
S - 15 - UTILISABLES
T - 19 - UTILEMENT
U - 20 - UTERUS
V - -
W - -
X - -
Y - -
Z - - |
"UTILISAI" a 3 "I" alors que "UTILISA" 2...
D'autre part, j'avais fini par faire la liste complète des mots:
$ awk -F '' '{for (i=1;i<=NF;i++) {d[$0,$i]++;if (d[$0,$i]==1) nb[$i]++;if (d[$0,$i]>d[max[$i],$i]) {max[$i]=$0;alter[$i]=$0;} if ((d[$0,$i]==d[max[$i],$i])&&(max[$i]!=$0)) {alter[$i]=alter[$i]" "$0;}}} END{for (i in nb) print i,nb[i],alter[i];}'
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| $ awk -F '' '{for (i=1;i<=NF;i++) {d[$0,$i]++;if (d[$0,$i]==1) nb[$i]++;if (d[$0,$i]>d[max[$i],$i]) {max[$i]=$0;alter[$i]=$0;} if ((d[$0,$i]==d[max[$i],$i])&&(max[$i]!=$0)) {alter[$i]=alter[$i]" "$0;}}} END{for (i in nb) print i,nb[i],alter[i];}' dc.txt |sort
A 10 UTILISA UTILISABLE UTILISABLES UTILISAI UTILISAIENT UTILISAIS UTILISAIT UTILISAMES UTILISANT UTILISAS
B 2 UTILISABLE UTILISABLES
E 12 UTERINE UTERINES UTILEMENT
I 17 UTILISAI UTILISAIENT UTILISAIS UTILISAIT
L 13 UTILISABLE UTILISABLES
M 2 UTILEMENT UTILISAMES
N 8 USURPONS UTERIN UTERINE UTERINES UTERINS UTILEMENT UTILISAIENT UTILISANT
O 1 USURPONS
P 1 USURPONS
R 6 USURPONS UTERIN UTERINE UTERINES UTERINS UTERUS
S 15 USURPONS UTILISABLES UTILISAIS UTILISAMES UTILISAS
T 19 UTILEMENT UTILISAIENT UTILISAIT UTILISANT
U 20 USURPONS UTERUS |
Partager