RegExps über zwei Zeilen?

30/04/2009 - 17:28 von Michael Daunheimer | Report spam
Hallo zusammen,

ich suche eine Möglichkeit, die folgenden zwei *funktionierenden*
RegExps zusammen zu fassen:

failregex = \(\S+\[<HOST>\]\): USER \S+ \(Login failed\): Incorrect
password\.$
matcht die Logmeldung:
Apr 30 16:54:47 this_machine proftpd[5998] this_machine
(dslb.net[153.42.113.201]): USER michael (Login failed): Incorrect password.

und
failregex = \(\S+\[<HOST>\]\): USER \S+: no such user found from \S+
\[[0-9.]+\] to \S+:\S+$
matcht die Logmeldung:
Apr 30 16:55:39 this_machine proftpd[6002] this_machine
(dslb.net[153.42.113.201]): USER andereruser: no such user found from
dslb.net[153.42.113.201] to 172.16.160.70:21


Laut http://www.fail2ban.org/wiki/index.php/MANUAL_0_8 brauche ich die
Ausdrücke nur in zwei Zeilen zu schreiben, aber folgendes matcht leider
gar nicht mehr:
failregex = \(\S+\[<HOST>\]\): USER \S+ \(Login failed\): Incorrect
password\.$
\(\S+\[<HOST>\]\): USER \S+: no such user found from \S+
\[[0-9.]+\] to \S+:\S+$


Weiß jemand Rat, wie ich das zusammen fassen kann, so dass ich beide
Logmeldungen beim Parsen finde?

Vielen Dank für Eure Hilfe!
Michael
 

Lesen sie die antworten

#1 Hauke Laging
30/04/2009 - 19:31 | Warnen spam
Michael Daunheimer schrieb am Donnerstag 30 April 2009 17:28:

Laut http://www.fail2ban.org/wiki/index.php/MANUAL_0_8 brauche ich
die Ausdrücke nur in zwei Zeilen zu schreiben,



Geht es um die Konfiguration eines speziellen Programms?


Weiß jemand Rat, wie ich das zusammen fassen kann, so dass ich
beide Logmeldungen beim Parsen finde?



Oder um eine allgemeine Lösung? Das wird nicht so recht klar.

Ich würde das spontan so machen:

awk -v rexex1=... -v regex2=... \
'BEGIN {match_1=0}; match_1==1 && $0 ~ regex2 { match_1=0;print
line_1;print; }; match_1=0; $0 ~ regex1 { match_1=1;line_1=$0; }'

Das liefert Dir die relevanten Blöcke. Zur Not kannste die als eine
Zeile ausgeben lassen und geeignet markieren, um die so erzeugte
Datei von dem anderen Programm auswerten zu lassen.


Hauke
http://www.hauke-laging.de/ideen/

Ähnliche fragen