Shell : afficher la ligne précédant un motif
Résolu
ging42
-
ging42 -
ging42 -
Bonjour,
Je souhaiterais afficher la ligne précédant celle où un motif donné a été trouvé, j'ai cherché sur internet et c'est possible avec sed :
sed -n '/motif/{g;1!p;};h' file.txt
Oui mais voilà, ça ne marche pas chez moi, ça affiche des lignes vides.
Par contre sed -n '/motif/{n;p;}' file.txt m'affiche bien la ligne située après le motif...
Que faire ?
Merci d'avance pour vos réponses.
Je souhaiterais afficher la ligne précédant celle où un motif donné a été trouvé, j'ai cherché sur internet et c'est possible avec sed :
sed -n '/motif/{g;1!p;};h' file.txt
Oui mais voilà, ça ne marche pas chez moi, ça affiche des lignes vides.
Par contre sed -n '/motif/{n;p;}' file.txt m'affiche bien la ligne située après le motif...
Que faire ?
Merci d'avance pour vos réponses.
6 réponses
-
-
hello
ça fonctionne$ cat a4 aaa bbb ccc ddd eee $ sed -n '/ccc/{g;1!p;};h' a4 bbb $ -
Salut,
Il faudrait faire un forum spécial pour jipicy ;)
En ce cas il devra être payer, et il n'aura plus le droit de dormir ;-DDD -
Bon j'ai créé le même fichier que toi, et bien non ça n'affiche qu'une ligne vide... C'est pas grave j'ai trouvé un moyen de contourner ce problème.
Merci quand même ! -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
ou ceci qui doit fonctionner avec le plus archaique des awk
$ awk '{n[NR]=$0} ; /ddd/ {print n[NR-1];exit}' a4 ccc $ -