"grep" sur numero de ligne

Résolu/Fermé
lefreeman63 Messages postés 136 Date d'inscription mercredi 20 avril 2011 Statut Membre Dernière intervention 11 février 2016 - 2 sept. 2013 à 14:38
lefreeman63 Messages postés 136 Date d'inscription mercredi 20 avril 2011 Statut Membre Dernière intervention 11 février 2016 - 12 sept. 2013 à 10:09
Salut tous le monde

Désolé de vous embèter surtout que je pense que la solution n'est pas si dure.
Mais en faite la je sèche.

Je cherche a faire un grep sur un numéro de ligne.
Par exemple faire un grep sur la ligne 25 de mon fichier.

Pour rentre un peu plus dans les détail, je suis sur un serveur AIX en ksh.
Et je fais cherche un champ dans une log, une fois trouver je récupère le numéro de la ligne et je veux vérifier que les 3 ligne du dessus contiennent le mot "warning"


Exemple:


Monday 02 09 2013 - Warning
Monday 02 09 2013 - Warning
Monday 02 09 2013 - Warning
Monday 02 09 2013 - TOTO

Du coup je récupère le numéro de ligne de Toto et je veux faire une boucle pour vérifier chacune des lignes.


Quelqu'un aurait une idée svp?

4 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
2 sept. 2013 à 16:19
hello
il ne manque que awk ...
$ awk '{t[NR]=$0} /TOTO/ {print t[NR-3] RS t[NR-2] RS t[NR-1], RS $0}' plop
     5	Monday 02 09 2013 - Warning1
     6	Monday 02 09 2013 - Warning2
     7	Monday 02 09 2013 - Warning3 
     8	Monday 02 09 2013 - TOTO 
1
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
2 sept. 2013 à 16:21
Salut,

En fait il ne manquait que dubcek ;-))
0