![]() |
![]() |
10 Einträge, 1 Seite |
1
2
3
192.168.0.1 - - [28/Oct/2008:11:10:27 +0100] "GET http://www.google.com/search?hl=de&lr=&client=iceweasel-a&rls=org.debian:de:unofficial&ie=UTF-8&oe=UTF-8&q=lpx+formfaktor+design+jpg&start=30&sa=N HTTP/1.1" 200 6199 "http://www.google.com/search?hl=de&lr=&client=iceweasel-a&rls=org.debian:de:unofficial&ie=UTF-8&oe=UTF-8&q=lpx+formfaktor+design+jpg&start=20&sa=N" "Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.8.1.16) Gecko/20080702 Iceweasel/2.0.0.16 (Debian-2.0.0.16-0etch1)"
192.168.0.131 - - [28/Oct/2008:11:10:28 +0100] "POST http://mail.google.com/mail/channel/bind?at=xn3j35vkipm3ag8wbq29v4hr0ebgm1&VER=6&it=7200021&SID=7D0F626A0A21187&RID=31563&zx=ohytef6xzilb&t=1 HTTP/1.1" 200 26 "http://mail.google.com/mail/?ui=2&view=js&name=js&ver=GikK_XiN2lg&am=X_E4tcT3MCGpBf3gi728Yw" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_4; de-de) AppleWebKit/525.18 (KHTML, like Gecko) Version/3.1.2 Safari/525.20.1"
192.168.0.129 - - [28/Oct/2008:11:10:47 +0100] "POST http://207.46.109.80/gateway/gateway.dll?Action=poll&SessionID=579256175.2115166193 HTTP/1.0" 200 - "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; Windows Live Messenger 8.5.1302)"
1 2 3 4 5 6 7 8 9 10 11 12
my %daten; while (...) { # Einlesen # Auswerten der Zeile, IP in $ip, Bytes in $bytes ... # Addieren: $daten{$ip} += $bytes; } # Ausgabe Datenmenge nach IP for my $ip ( sort keys %daten) { print "IP: $ip\tBytes: $daten{$ip}\n"; }
1 2 3 4 5 6
use Data::Dumper; my %bytes; while (...) { # deine schleife $bytes{ $ip } += $bytes; } print Dumper \%bytes;
1 2 3 4 5
%days = ( 26/Sep/2008 => '1', 27/Okt/2008 => '2', 28/Nov/2008 => '3', );
1 2 3 4
for my $datum (sort keys %days){ #Reihenfolge der Keys des Hash's '%tage' nach Datumseinrägen sortieren print "$datum\t($tage{$datum})\n"; #sortierte Ausgabe des Hash's %tage } print "\nWelches Datum auswerten? (Nr. eingeben): "; #Eingabeaufforderung f. Auswahl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
05/May/2008 (5)
05/Jul/2008 (7)
05/Sep/2008 (9)
05/Oct/2008 (10)
06/Feb/2008 (3)
06/Mar/2008 (4)
06/Jul/2008 (8)
06/Oct/2008 (11)
07/Mar/2008 (12)
07/Apr/2008 (2)
07/Sep/2008 (16)
07/Oct/2008 (12)
08/Dec/2008 (25)
09/Dec/2008 (26)
10/Dec/2008 (27)
1 2 3 4 5
if ($ueb=~m/^(\d+)\/(\w+)\/(\d+)$/){ #Aufsplitten des Datums-Strings in Tag, Monat, Jahr $d=$1; #Zuweisen in entsprechende Skalare $m=$2; $y=$3; }
1 2 3 4
for my $m (sort keys %days){ #Reihenfolge der Keys des Hash's '%tage' nach Monatseinträgen sortiern print "$datum\t($tage{$m})\n"; #sortierte Ausgabe des Hash's %tage } print "\nWelches Datum auswerten? (Nr. eingeben): "; #Eingabeaufforderung f. Auswahl
1 2 3 4 5 6
my %m=(Jan=>1, Feb=>2, Mar=>3, Apr=>4, May=>5, Jun=>6, Jul=>7, Aug=>8, Sep=>9, Oct=>10, Nov=>11, Dec=>12); sub datesort { return $a->[3] <=> $b->[3] || $m{$a->[2]} <=> $m{$b->[2]} || $a->[1] <=> $b->[1]; } my @list=map{$_=$_->[0]}sort{datesort()}map{$_=[$_,(split(/\//,$_))]}keys(%days);
1 2 3 4 5 6 7 8 9 10 11 12
my @date; ... while (my $zeile = <$logfile>) { # Datum herausfiltern if ($zeile =~ /.../) { $datum = $1; # so etwas wie "12/Dec/2007" if (@date == 0 || $date[-1] ne $datum) { # @date leer oder neues Datum push @date, $datum; } ... } }
topeg+2008-11-07 21:32:47--Code (perl): (dl )my @list=map{$_=$_->[0]}sort{datesort()}map{$_=[$_,(split(/\//,$_))]}keys(%days);
1 2 3 4 5 6 7
my @list = map { $_->[0] } sort datesort map { [ $_ , split /\//, $_ ] } keys %days;
QuoteCode (perl): (dl )1 2 3 4 5 6 71: my @list = map { 2: $_->[0] 3: } sort 4: datesort 5: map { 6: [ $_ , split /\//, $_ ] 7: } keys %days;
ist das nicht lesbarer?
![]() |
![]() |
10 Einträge, 1 Seite |