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 = )
{
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