Shell-Script zur gruppierten Summenbildung
Maximilian Wilhelm
max at rfc2324.org
Sat Mar 6 17:23:30 CET 2010
Anno domini 2010 RalfGesellensetter scripsit:
hi!
> 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.
#!/usr/bin/perl
use strict
my %pages;
while (my $line = <STDIN>) {
my @columns = split (/[[:space:]+]/, $line);
$pages{$columns[2]} += $columns[6];
}
foreach my $user (sort keys %pages) {
print "User $user printed $pages{$user} pages.\n";
}
ungetestet vom handy und ausnahmsweise ohne fehlerbehandlung :)
Ciao
Max
--
"really soon now": an unspecified period of time, likly to
be greater than any reasonable definition
of "soon".
More information about the Linux
mailing list