Shell-Script zur gruppierten Summenbildung
Hallo, ich habe schon etwas recherchiert und probiert - aber jetzt schließt sich mein Zeitfenster für derart lehrreiche Tüfteleien - und ich hoffe auf eure guten Anregungen: Kontext: Nachträgliche Druckkostenerhebung per User auf der Grundlage eines Druckprotokolls (CSV). Ich habe das Protokoll (per wget vom Drucker!) bereits mit tr so konvertiert, dass Anführungszeichen gelöscht und Kommata in TABs konvertiert sind. Außerdem habe ich die Zeilen per sort -k3 nach usern sortiert (erleichtert die Gruppierung). Spalte 3 enthält den User, Spalte 7 die Anzahl der gedruckten Seiten. Ich möchte für jeden User eine Summe. Erste Ansätze mit awk usw. misslangen: #cat /tmp/druckverbrauch.tab | for read c; \ do awk `{split($c,t,"\t");sizes[t[3]] += int($7)} \ END {for (u in sizes) { \ printf("User %s printed %d pages\n",u,sizes[u])}} `; done cat /tmp/druckverbrauch.tab | \ while read c do echo $c | read A B C D E F G rest echo $C druckt $G # u='echo $c | cut -f3' # s='echo $c | cut -f7' # echo $u druckt $s Seiten. done Danke! Ciao Ralf
Teilnehmer (2)
-
Maximilian Wilhelm
-
RalfGesellensetter