Hallo Kuhlsen,das folgende Script sollte deine Aufgabe erledigen (ist ungetestet).
Die Daten werden nach ./jahr/monat/tag geschrieben, wenn du monatliche Files benötigst brauchst du es nur ein wenig zu kürzen...
Gruß TommyB
#!/usr/bin/perluse strict;
# oeffne das logfile
open(IN,"<inputfile.log") or die "Can't open Logfile\n";
# durchlaufe das logfile zeilenweise
while( my $in = <IN> ){
# ueberspringe leer- und kommentarzeilen
next if( $in =~ /^#|^\s*$/ );
# suche in der zeile die fuer mich wichtigen daten,
# also monat und jahr
$in =~ /\[(\d+)\/([^\/]+)\/(\d{4})/;
my ($tag,$monat,$jahr) = ($1,$2,$3);
# lege das Verzeichnis '$jahr/$monat' an
system("mkdir -p $jahr/$monat");
# schreibe den datensatz in das tageslogfile
open(OUT,">>$jahr/$monat/$tag");
print OUT $in;
close OUT;
}
# schliesse das logfile
close IN;
Datum: 09.09.2007-18:37
