.bat incémenter un compteur - Page 2
Résolu
Précédent
- 1
- 2
parce qu'en spécifiant : comme séparateur, 2h:07m:50s n'est plus un seul champ mais 3, il ne faut plus utiliser split, mais sub pour enlever les lettres h, m ou s des champs 10, 11 et 12.
avec sub, je substitue la lettre entre " par rien "" et je n'ai plus de tableau t
$ type f1.awk
{x[$4]+=$8; y[$4]+=$14; sub("h","",$10); sub("m", "", $12);sub("s","",$12); h[$4]+=$10;m[$4]+=$11;s[$4]+=$12} ;
END {for (n in x) { s1=s[n]%60 ; s2=int(s[n]/60); m1=(m[n]+s2)%60;m2=int((m[n]+s2)/60);h1=h[n]+m2;
print n, x[n], y[n], h1"h",m1"m",s1"s"}}
$ gawk -F"[,=:]" -f f1.awk < f3.txt
tata 3 7 4h 16m 11s
toto 6 9 5h 9m 9s
titi 5 3 2h 7m 50s
avec sub, je substitue la lettre entre " par rien "" et je n'ai plus de tableau t
$ type f1.awk
{x[$4]+=$8; y[$4]+=$14; sub("h","",$10); sub("m", "", $12);sub("s","",$12); h[$4]+=$10;m[$4]+=$11;s[$4]+=$12} ;
END {for (n in x) { s1=s[n]%60 ; s2=int(s[n]/60); m1=(m[n]+s2)%60;m2=int((m[n]+s2)/60);h1=h[n]+m2;
print n, x[n], y[n], h1"h",m1"m",s1"s"}}
$ gawk -F"[,=:]" -f f1.awk < f3.txt
tata 3 7 4h 16m 11s
toto 6 9 5h 9m 9s
titi 5 3 2h 7m 50s
J'ai testé en retirant : sub("h","",$10); sub("m", "", $11);sub("s","",$12);
Pour n'avoir que ça :
{x[$4]+=$8; y[$4]+=$14; h[$4]+=$10;m[$4]+=$11;s[$4]+=$12} ;
END {for (n in x) { s1=s[n]%60 ; s2=int(s[n]/60); m1=(m[n]+s2)%60;m2=int((m[n]+s2)/60);h1=h[n]+m2;
print n, x[n], y[n], h1"h",m1"m",s1"s"}}
Du coup le sub n'a pas forcément une utilité si ?
Pour n'avoir que ça :
{x[$4]+=$8; y[$4]+=$14; h[$4]+=$10;m[$4]+=$11;s[$4]+=$12} ;
END {for (n in x) { s1=s[n]%60 ; s2=int(s[n]/60); m1=(m[n]+s2)%60;m2=int((m[n]+s2)/60);h1=h[n]+m2;
print n, x[n], y[n], h1"h",m1"m",s1"s"}}
Du coup le sub n'a pas forcément une utilité si ?
Précédent
- 1
- 2