Shell : afficher la ligne précédant un motif

Résolu
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.

A voir également:

6 réponses

swed
 
Halala,
Il faudrait faire un forum spécial pour jipicy ;)
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
ça fonctionne
$ cat a4
aaa
bbb
ccc
ddd
eee
$ sed -n '/ccc/{g;1!p;};h' a4
bbb
$ 
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
0
ging42
 
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 !
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
qu'affiche sed --version
chez moi: GNU sed version 4.2.1
0
ging42
 
Chez moi ça affiche "Illegal option"... :(
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
sur quel système ?
et sed -v ?
0
ging42
 
Pour sed-v, c'est aussi une option illégale.
C'est un systmèe AIX.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
c'est donc un "vieux" sed
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
ou ceci qui doit fonctionner avec le plus archaique des awk
$ awk '{n[NR]=$0} ; /ddd/ {print n[NR-1];exit}' a4 
ccc 
$
0
ging42
 
Whaou merci beaucoup, effectivement ça marche !!! :)
0