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 33 34 35 36 37 38 39 40
| BEGIN {
## field separator
FS = ",";
tab_date[""] = 0;
tab_valeur[""] = 0;
}
$1 ~/^[A-Z]$/ {
# on traite les lignes commencant par une lettre majuscule
clef = $1;
valeur = $3;
## format JJ.MM.AAAA
date1 = $2;
split(date1,array,/\./);
jour = array[1];
mois = array[2];
annee = array[3];
## format AAAAMMJJ plus facile pour comparer deux dates
date2 = annee "" mois "" jour;
if ((date2 < tab_date[clef] && tab_date[clef] != "") || (tab_date[clef] == "")) {
tab_date[clef] = date2;
tab_valeur[clef] = $3;
}
}
END {
for (cle in tab_date) {
if (cle != "") {
annee = substr(tab_date[cle],1,4);
mois = substr(tab_date[cle],5,2);
jour = substr(tab_date[cle],7,2);
date1 = jour "." mois "." annee;
print cle "," date1 "," tab_valeur[cle];
}
}
} |
Partager