Author: guilde.nt Date: To: anne.guilde@free.fr CC: ML Guilde Subject: Re: besoin d'aide pour bach ou autre
> fichier de départ : (j'ai un peu simplifié) >
> nom1;1234
> nom1;5678
> nom2;2345
> nom3;3456
> nom4;4567
> nom4;3456
> nom5;6789
> nom5;5678
> nom6;3456
> nom7;1357
>
> j'aimerais ajouter pour chaque ligne le nombre de fois qu'il y a le numéro
> de la deuxième colonne.
>
> nom1;1234;1
> nom1;5678;2
> nom2;2345;1
> nom3;3456;3
> nom4;4567;1
> nom4;3456;3
> nom5;6789;1
> nom5;5678;2
> nom6;3456;3
> nom7;1357;1
$ awk -F \; '{a[$2][c[$2]++]=$1} END {for (i in c) for (j=0; j<c[i]; j++) print a[i][j] ";" i ";" c[i]}' <data
Le tableau c[] compte les $2 ; le tableau bi-dimensionnel a[][]
enregistre $1. À l'entrée de END, nous avons, avec ces données :