Simple mais penible avec SED
Résolu/Fermé
A voir également:
- Simple mais penible avec SED
- Iphone 14 simple - Guide
- Simple ocr - Télécharger - Bureautique
- Simple file locker - Télécharger - Sécurité
- Organigramme simple - Guide
- Montage video simple windows - Guide
6 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
15 avril 2010 à 14:53
15 avril 2010 à 14:53
Salut,
;-))
jp@MDK:~/tmpfs ssh$ cat toto Ligne finissant par TOTO Une autre ligne finissant par TOTO jp@MDK:~/tmpfs ssh$ sed '/TOTO$/,/TOTO$/{/^$/d}' toto Ligne finissant par TOTO Une autre ligne finissant par TOTO jp@MDK:~/tmpfs ssh$
;-))
On se rapproche fortement de ce que je recherche !
La difference reste qu avec la syntaxe precedente sous vim, les pattern qui correspondaient ne contenaient qu une seule ligne ET qui est vide, c est a dire :
...TOTO
...TOTO
c est bon, mais
..TOTO
blabla
...TOTO
c est pas bon (idem si plusieurs lignes vides)
La difference reste qu avec la syntaxe precedente sous vim, les pattern qui correspondaient ne contenaient qu une seule ligne ET qui est vide, c est a dire :
...TOTO
...TOTO
c est bon, mais
..TOTO
blabla
...TOTO
c est pas bon (idem si plusieurs lignes vides)
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
15 avril 2010 à 15:14
15 avril 2010 à 15:14
Fallait commencer directement par là ;-))
;-))
jp@MDK:~/tmpfs ssh$ cat toto Ligne finissant par TOTO Une autre ligne finissant par TOTO Autre ligne finissant par TOTO blabla blablabla blabla blablabla Et une dernière en TOTO jp@MDK:~/tmpfs ssh$ sed '/TOTO$/,/TOTO$/{//!d}' toto Ligne finissant par TOTO Une autre ligne finissant par TOTO Autre ligne finissant par TOTO Et une dernière en TOTO jp@MDK:~/tmpfs ssh$
;-))
aaaagh toutes mes excuses je me suis mal exprime
quand je disais 'c'est pas bon', je voulais dire que je souhaitais que le pattern ne match pas, idealement ce que je cherche est donc :
jp@MDK:~/tmpfs ssh$ cat toto
Ligne finissant par TOTO
Une autre ligne finissant par TOTO
Autre ligne finissant par TOTO
blabla
blablabla
blabla
blablabla
Et une dernière en TOTO
jp@MDK:~/tmpfs ssh$ sed 'commande magique' toto
Ligne finissant par TOTO
Une autre ligne finissant par TOTO
Autre ligne finissant par TOTO
blabla
blablabla
blabla
blablabla
Et une dernière en TOTO
j'espere que c'est plus clair mais du coup c'est surement moins simple...
quand je disais 'c'est pas bon', je voulais dire que je souhaitais que le pattern ne match pas, idealement ce que je cherche est donc :
jp@MDK:~/tmpfs ssh$ cat toto
Ligne finissant par TOTO
Une autre ligne finissant par TOTO
Autre ligne finissant par TOTO
blabla
blablabla
blabla
blablabla
Et une dernière en TOTO
jp@MDK:~/tmpfs ssh$ sed 'commande magique' toto
Ligne finissant par TOTO
Une autre ligne finissant par TOTO
Autre ligne finissant par TOTO
blabla
blablabla
blabla
blablabla
Et une dernière en TOTO
j'espere que c'est plus clair mais du coup c'est surement moins simple...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
15 avril 2010 à 15:51
15 avril 2010 à 15:51
En gros on ne supprime une ligne vide que si la ligne précédente et la suivante finissent par TOTO ?
Un truc comme ça devrait aller :
;-))
Un truc comme ça devrait aller :
jp@MDK:~/tmpfs ssh$ cat toto Ligne finissant par TOTO Une autre ligne finissant par TOTO bliblibli Autre ligne finissant par TOTO blabla blablabla blabla blablabla Et une dernière en TOTO jp@MDK:~/tmpfs ssh$ sed '/TOTO$/{:z;N;s/\(.*TOTO\n\)\n\(.*TOTO\)$/\1\2/;Tz};' toto Ligne finissant par TOTO Une autre ligne finissant par TOTO bliblibli Autre ligne finissant par TOTO blabla blablabla blabla blablabla Et une dernière en TOTO jp@MDK:~/tmpfs ssh$
;-))