Benutzerlogins zählen (finger Ausgabe)

Wunderschönen..

Folgendes ich würde gerne aus der Ausgabe von Finger mir per Script anzeigen lassen wie oft welcher Benutzer angemeldet ist. Die Ausgabe von Finger sieht folgendermassen aus:

export ??? p62 29 Fri 07:54
kipker ??? p63 2 Fri 07:56
luellm ??? p65 27 Fri 07:57
luellm ??? p66 27 Fri 07:57
usw..

Am Ende sollte sowas wie

2 luellm
1 export
usw.

rauskommen..

Habe an sowas wie "finger | cut -d " " -f1 | ???" gedacht. Ich habe jedoch keinen Schimmer wie ich danach die Zählung zustande bekomme. Leider nicht besonders fit was awk, sed und consorten angeht..

Danke!
 
Hi,

ich würde da in erster Linie an Perl denken.
Die Ausgabe nach Usernamen extrahieren (wie geschehen) .
Einen Hash erstellen und diesen iterieren, mittels foreach.

Gruss M.
 
Och du wenn ich Perl könnte hätte ich dieses sicher genutzt. Vieleicht hast du ja lust mir den entsprechenden Codeschnipsel zu liefern ;o) ...
 
O.K, ich hätte nichts sagen sollen, deine Frage klang schon so komisch ;)

Ist ungetestet!

#!/usr/bin/perl -w
#
# pars.pl
# Eine Datei wird eingelesen, ein Hash erstellt,
# dieser wird iteriert und ausgegeben.

while($daten = <>){
@arr = split /\?\?\?/, $daten;
push @all, $arr[0];
}
foreach $user (@all){
$user{$user}++;
}

print "User \t Häufigkeit \n";
print "=====================\n";

foreach $user (sort keys %user){
print "$user \t $user{$user}\n";
}

Wenn ich dich richtig verstanden habe, hast Du eine Datei die geparst werden muss, bzw. hast du die
Ausgabe von finger umgeleitet in eine Datei deines Vertrauens.
Aufruf perl pars.pl <Datei deines Vertrauens> oder ./pars.pl <Datei deines Vertrauens>

Geht bestimmt auch eleganter und kürzer, aber übt Nachsicht mit mir als Anfänger.

Gruss M.
 
Zurück
Oben