Re: [SSFR] Bash + log come back

[ Thread Index | Date Index | More debianworld.org/shellscript-fr Archives ]


debian user wrote:
J'ai un nouveau besoin, voilà :

mon fichier de log s'organise comme ceci :
[09-08-2005: 19-26-12]:AD2P-D4-APP-ABO01-06: message erreur
[09-08-2005: 19-30-12]:AD2P-D4-APP-ABO01-06: message erreur

[la date :  l'heure]:La machine: le message d'erreur

je tri sur le nom de machine et sur l'heure, j'ai donc une heure de
départ et une heure de fin par machine.

Et comment tu devines si c'est départ ou fin ?

j'aimerai en fait faire une moulinette qui me permmette de récupérer
l'heure de départ et de fin pour chaque machine.

Si tu nous dit pas comment savoir si c'est début ou fin, ça va pas être facile.

pour savoir l'heure à laquelle j'ai eu la première alerte et l'heure de
la dernière alerte par machine.

Et là je suis largué pour faire un truc pareil :)

c'est à priori pas si simple, masi sed sait faire ça.
En revanche, je saurais pas trop te pondre le script sed

Un truc du genre

cat log | sed -f /pattern_debut/,/pattern_fin/!d > log2

devrait permettre de sortir le 1er bloc debut-fin.
Ensuite
head -1 log2 > ligne_debut
tail -1 log2 > ligne_fin

mais après il faut recommencer en virant ces 2 lignes du log. grep -v peut le faire mais ça me parait bourrin. Y'a sûrement moyen de faire mieux, mais ça devrait marcher (à mes erreurs de syntaxe près).

Daniel

PS, s'il n'y a pas de différence début fin, et que la 1ere apparition d'un host est le début et la suivante la fin (et ainsi de suite), c'est beaucoup plus simple (une boucle et un grep suffisent) mais ça m'étonnerait.

PS2: Comme dit Edi, évite les cross-post (surtout à 2h d'intervalle, tout le monde n'est pas forcément dispo dans la minute pour te répondre).

Bien à vous




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/