PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PERL: String in Logfile finden



linguin
30.06.2006, 09:08
Hallo,

ich habe ein Mailllog mit folgenden Einträgen:

[61.219.90.222], reject=553 5.3.0 Mail fromIP 61.219.90.222 rejected - see http://spamcop.net
[61.219.90.223], reject=553 5.3.0 Mail fromIP 61.219.90.223 rejected - see http://spamcop.net

Nun möchte ich auf diese Zeile(n) folgenden Regeln anwenden:

1. suche nach dem string "fromIP"
2. wenn gefunden hole mir die IP "61.219.90.22" und schreibe sie in die Variable IPADRESSE.

Folgendes ist zu beachten:
Nicht in jeder Zeile steht "fromIP"
Die IP steht nicht immer in der gleichen Spalte, aber immer nach dem String "fromIP"

Könnt ihr mir helfen ??

Gruß

Xanti
30.06.2006, 09:33
IPADRESSE=$1 if /fromIP\s(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/


Gruss, Xanti

lordlamer
30.06.2006, 09:51
sollte doch auch direkt ala
cat file | grep fromIP | sed
gehen oder ?

Wolfgang
30.06.2006, 13:24
sollte doch auch direkt ala
cat file | grep fromIP | sed
gehen oder ?

Aber warum drei Prozesse dazu bemühen?
Im Grunde würde es auch mit sed alleine gehen.
Aber hier war ja Perl gefragt. ;)

Gruß Wolfgang