J'écris un script awk
qui analyse un fichier CSV, compare une colonne contenant la date et une autre colonne contenant le type d'activité, puis imprime le compte d'une activité particulière.incrément variable dans awk basé sur deux colonnes
Le code que je l'ai écrit est:
NOW=$(date --date="5 days ago" +"%Y%m%d")
awk -F "," -v mydate=$NOW '{
var_1=1;
var_2=1;} {
if (substr($8,2,8) == mydate) {
if ($6 == 1001) {
var_1++;
}
else if ($6 == 1003) {
var_2++;
}
}
print var_1 var_2
}' *.csv
La sortie que je reçois est
11
11
11
11
11
11
Je crois que la question est quelque chose à voir avec la façon dont je l'ai défini var_1
et var_2
; ils sont réinitialisés ou quelque chose.
Je veux également imprimer uniquement la valeur finale de var_1
et var_2
; pour le moment, il est imprimé à chaque itération de awk
.
Un conseil?
grâce, BEGIN , FIN est ce que je cherchais. les conditions correspondent bien. – kasai