Soit le fichier "donjon" :
LANCELOT:DULAC:chevalier:200
GODEFROY:DE BOUILLON:chevalier:300
ARTHUR::roi:150
MERLIN:L'ENCHANTEUR:magicien:0
GODEFROY:DE BOUILLON:chevalier:400
LANCELOT:DULAC:chevalier:300
Soit le fichier programme "cumul.awk" :
BEGIN { FS=":" print "Statistiques sur le nombre de sarrasins occis" nb=0 } $1 ~ /[a-zA-Z]/ { cumul[$1] += $4 for (i=1; (i <= nb) && (list[i] != $1; i++) if ( i > nb) { nb ++ list[nb]=$1 $2 } } END { printf ("%.20s\t%.20s \n","Zigoto", "Cumul") for (i=1; i <= nb; i++) printf ("%.20s\t%.20s \n", list[i], cumul[list[i]]) }
La commande
awk -f cumul.awk donjon
Statistiques sur le nombre de sarrasins occis Zigoto Cumul LANCELOT DULAC 500 GODEFROY DE BOUILLON 700 ARTHUR 150 MERLIN L'ENCHANTEUR 0