Re: [SSFR] Bash + log come back

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


Bonsoir,

J'ai fait une moulinette mais ça déconne avec grep, ça à l'air de
marcher mais il m'affiche des conneries à la fin du script. J'ai essayé
de tout faire ressortir à l'écran pour controler le résultat.

cat fichier_fin | cut -d: -f 3 | sort -u > nbrehost

ca me permet de chopper tout les hosts le sort -u pour virer les
doublons.

ensuite je grep le nom d'hote et et cherche la ligne de début et de fin

cat < nbrehost | while true
        do
        read LIGNE
        cat fichier_fin | grep -e $LIGNE | head -1
        cat fichier_fin | grep -e $LIGNE | tail -1
	LIGNE=0
	done

Ca fonctionne mais j'ai un soucis le script ne s'arrete pas, mais j'ai
bien l'impression qu'il fait son boulot.

J'ai tester de remettre à Zero la variable LIGNE, mais keunini



Le 10/08/05 at  15:37, Daniel C a ecrit:
>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).
fin du message de Daniel C

-- 
Christophe Debutant



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