Parseur de LOG

gunbol Messages postés 52 Statut Membre -  
jipicy Messages postés 41342 Statut Modérateur -
Bonjour,

Je chercher à faire un script pour parser des logs, pour remonter une alerte. le fichier est sous la forme suivante:

timesamp1
Bla bla bla bla
Bla bla bla bla
Bla bla bla bla
Bla bla bla bla
timesamp2
Bla bla bla bla
Bla bla bla bla
Bla bla !!! PATTERN !!!!bla bla
Bla bla bla bla
Bla bla bla bla
timesamp3
Bla bla bla bla
Bla bla bla bla

Je veux pouvoir pour chercher le mot 'PATTERN' dans un message suivant, et ressortir quelque chose sous la forme:
ALERTE: PATTERN trouvé dans la log:
timesamp2
Bla bla bla bla
Bla bla bla bla
Bla bla !!! PATTERN !!!!bla bla
Bla bla bla bla
Bla bla bla bla

Les 'langages' à utiliser sont awk, ksh, éventuellement perl.

Au départ, j'ai voulu jouer avec RS et FS de awk en mettant RS='timestamp' et FS='\n', mais cela ne marche pas vu que RS (en awk ou en nawk) ne prend qu'un seul caractère en argument.

J'espère que j'ai pas été trop confus dans mes explications.

Avez vous une idée pour m'aider ?

Merci d'avance.

Gunther
A voir également:

1 réponse

jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

Bon c'est en bash et avec sed, mais enfin si ça peut faire avancer le schmilblick...
jp@MDK:~/tmpfs ssh$ cat fich.log
timesamp1
Bla bla bla bla
Bla bla bla bla
Bla bla bla bla
Bla bla bla bla
timesamp2
Bla bla bla bla
Bla bla bla bla
Bla bla !!! PATTERN !!!!bla bla
Bla bla bla bla
Bla bla bla bla
timesamp3
Bla bla bla bla
Bla bla bla bla
timesamp4
Bla bla bla bla
Bla bla bla bla
Bla bla !!! PATTERN !!!!bla bla
Bla bla bla bla
Bla bla bla bla
timesamp5
Bla bla bla bla
Bla bla bla bla
Bla bla bla bla
Bla bla bla bla

jp@MDK:~/tmpfs ssh$ cat foo.sed
#n
/^timesamp/ {
    :z
    H
    n
    /^timesamp/ !{
        b z
    }
    x
    /PATTERN/ {
        s/.*/ALERTE : PATTERN trouvé dans le LOG sur &/p
    }
g
b z
}

jp@MDK:~/tmpfs ssh$ sed  -f foo.sed fich.log
ALERTE : PATTERN trouvé dans le LOG sur timesamp2
timesamp2
Bla bla bla bla
Bla bla bla bla
Bla bla !!! PATTERN !!!!bla bla
Bla bla bla bla
Bla bla bla bla
ALERTE : PATTERN trouvé dans le LOG sur timesamp4
timesamp4
Bla bla bla bla
Bla bla bla bla
Bla bla !!! PATTERN !!!!bla bla
Bla bla bla bla
Bla bla bla bla
jp@MDK:~/tmpfs ssh$
;-))
0