Bonjour à tous,
grâce à sed je supprime un motif présent plusieurs fois dans mon fichier, cependant j'aimerai également supprimer la ligne située au dessus de ce motif, est-ce possible en utilisant sed ?
Merci à vous
Bonjour à tous,
grâce à sed je supprime un motif présent plusieurs fois dans mon fichier, cependant j'aimerai également supprimer la ligne située au dessus de ce motif, est-ce possible en utilisant sed ?
Merci à vous
Salut,
Oui c'est possible
Les lignes contenant "blu" seront supprimées ainsi que la ligne précédente.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 $ cat plop ligne 1 blablabla ligne 2 bla blu bla ligne 3 blablabla ligne 4 bla bla bla ligne 5 blu bla bla ligne 6 blablabla
Le principe c'est de charger une ligne dans la mémoire principale (fonction par défaut de sed), puis d'y ajouter la ligne suivante avec la commande "N" (next), on vérifie la présence du motif et si il s'y trouve, on supprime (d) les 2 lignes présentes dans la mémoire principale.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $ sed 'N;/blu/d' plop ligne 1 blablabla ligne 3 blablabla ligne 4 bla bla bla ligne 6 blablabla $
Bonjour,
merci pour votre réponse ça fonctionne(seul la première valeur ne marche pas je ne sais pas vraiment pourquoi mais bon il m'a suffit d'une correction manuelle).
Bonne journée
Partager