Bonjour,
j'aimerai exploiter les logs d'un logiciel sous linux dans un but statistique.
Le logiciel écrit des logs tous les jours dans le même fichier. Le programme commence à écrire les logs à 23H et peut terminer d'écrire vers 02H. A chaque début d'écriture de log le logiciel commence par écrire start et termine en écrivant end.
Exemple de log :
A 2011/07/29 23:00:00 Start
A 2011/07/29 23:30:10 champ1 champ2 champ3
A 2011/07/29 23:45:26 champ1 champ2 champ3
A 2011/07/30 00:18:33 champ1 champ2 champ3
A 2011/07/30 01:26:28 champ1 champ2 champ3
A 2011/07/30 01:45:54 End
J'aimerai que mon script récupère la valeur des champ3 pour la dernière session donc ici entre le 29/07 et 30/07
J'ai donc pour le moment ça :
cat fichier.log | grep 'champ1' | awk '{print $6}' mais la je récupère tous les champ3 de tous les jours.
Pouvez-vous m'indiquer comment faire pour récupérer la valeurs des champs 3 de la dernière session ?
Par avance merci
Publicité
Posté le 17-08-2011 à 21:31:27
art_dupond
je suis neuneu... oui oui !!
Posté le 17-08-2011 à 22:20:15
Code :
grep -i -B 1 end fichier.log | grep -vi end | awk '{ print $6 }'
Récupère la ligne avec "end" et celle qui précède | ne prend pas la ligne avec "end" | awk...
?
Message édité par art_dupond le 17-08-2011 à 22:21:19