next up previous contents index
suivant: Remarque sur l'utilisation de monter: Utilisation de « awk » précédent: Utilisation de variables du   Table des matières   Index


Exemple

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
produit le résultat suivant :
Statistiques sur le nombre de sarrasins occis
Zigoto                  Cumul
LANCELOT DULAC          500
GODEFROY DE BOUILLON    700
ARTHUR                  150
MERLIN L'ENCHANTEUR     0



baudry@esme.fr