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