Logfile Auswertung
Von: , Frage gestellt am Do, 14. Nov 2002
Hallo,
ich versuche gerade eine Logdatei zu zerlegen, aber nachfolgende Zeile tut es nicht.
if($lines =~/':137 ('/)
Auszug der Logdatei: (ohne Zeilenumbruch)
2002.10.11-20:04:59 local, Sun Nov 10 20:03:25 2002 INET: refuse from if 10001 prot 17 65.128.140.212:1025->192.168.3.3:137 (RI 9 FI 19)
Wenn ich z.B. if($lines =~/refuse from if 10001/)
eintrage, dann geht es.
Wenn es keine Mühe kostet, könnt ihr mir vielleicht verraten, wie ich die 65.128.140.212 (kann jedes mal eine andere sein) rausfiltern kann.
Hier mal mein gesamtes Script: (noch keine Endlösung)
#!/usr/bin/perl -w
open(OLDFIRE, ">> D:/old.syslog.txt");
open(SMB, ">> d:/oldsmb.txt");
open(FIRE, "d:/syslog.txt");
while($lines = <FIRE>)
{
if($lines =~/refuse from/)
{
if($lines =~/':137 ('/)
{
print SMB "$lines";
}
else
{
print OLDFIRE "$lines";
}
print "$lines";
}
}
close(FIRE);
close(SMB);
close(OLDFIRE);
*********************************************
Natürlich bin ich für andere Verbesserungen dankbar.
Ralf
