[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Perl / Log-Analyse



Hallo,

On Sun, Feb 10, 2002 at 03:36:01PM +0100, Kevin Röwe wrote:
>  
> 192.168.100.243 KBretschneider - [03/Feb/2002:00:40:32 +0100] "GET
> http://www.caloweb.com/cgi-local/getimage.cgi/de_cwg_284995378?
> HTTP/1.0" 200 359 TCP_MISS:DIRECT
>  
> Herausfiltern möchte ich den Timestamp, in diesem Fall 00:40.
>  
> Hat da irgendjemand eine gute Idee. 
> Mit Perl kann man so klasse konstrukte konstruieren wie if($line =~
> /^\d+\.\d+\.\d+\.\d+\sKBretschneider -\s+\[\d+\/\s+\/\d+\:(\d+\:\d)$/)
> Leider ist es ohne Bauanleitung recht mühsam. 

    man perlre

oder Buchladen -> "Mastering Regular Expressions" (oder so ähnlich,
O'Reilly ist der Verlag)


Das ganze heißt also "Reguläre Ausdrücke".  In Perl-Büchern/Einführungen
findet sich in der Regel auch etwas zum Thema.

    ($timestamp) = (/\[.*?:(\d\d:\d\d)/);
# nach der ersten "[" kommen beliebig viele Zeichen (ohne Gier!), dann ein
# ":", danach zwei Ziffern, noch ein ":", und dann Dein gesuchter
# Timestamp, der wird in () zwischengelagert und steht damit zur
# Verfügung ...

Für den vorgesehenen Zweck dürfte es wahrscheinlich genügen.  (Wirst ja
keine eckschen Klammern in den Nutzernamen oder IP-Adressen haben..)


    Best regards from Dresden
    Viele Gruesse aus Dresden
    Heiko Schlittermann
-- 
 SCHLITTERMANN --------------------- internet & unix support -
 <a href="http://debian.schlittermann.de/";> Debian 2.x CD </a>
 Heiko Schlittermann HS12-RIPE finger:heiko@schlittermann.de -
 pgp: A1 7D F6 7B 69 73 48 35  E1 DE 21 A7 A8 9A 77 92 -------
 gpg: CC19 0FE2 073B AEA1 5C11  37DD 347D 73DC FF56 BA6D -----




Reply to: