Suppression lignes dans un fichier

Résolu
Bonjour,
Je cherche à supprimer des lignes dans un fichier en fonction de mots clés:
si j'ai le mot clé toto dans une ligne, je veux supprimer la ligne au-dessus ainsi que la ligne en-dessous.
J'ai commencé à trouver des pistes via sed et cut, mais j'ai du mal à trouver ma solution !
Une idée ? merci!
Configuration: Windows XP
Firefox 2.0.0.17

4 réponses

  1. Je rectifie:
    si j'ai le mot clé toto dans une ligne, je veux supprimer la ligne au-dessus, en dessous et la ligne contenant le mot clé (3 suppressions de ligne en fait)
    0
    1. c'est (encore) parfait, merci !
      0
      1. Modérateur
        Salut,
        sed 'N;/motif/{N;d}' fichier
        :-))
        -1
        1. Modérateur
          Je rectifie ma 1ère réponse (qui n'apparait pas pour l'instant ???) et qui est incomplète ;-((

          Donc la bonne syntaxe est :
          sed 'h;N;/motif/!{P;D};{N;d}' fichier
          Un exemple :
          [tmpfs]$ cat fichier
          A
          B
          C
          D
          E
          F
          G
          
          [tmpfs]$ sed 'h;N;/B/!{P;D};{N;d}' fichier
          D
          E
          F
          G
          
          [tmpfs]$ sed 'h;N;/D/!{P;D};{N;d}' fichier
          A
          B
          F
          G
          
          [tmpfs]$ sed 'h;N;/F/!{P;D};{N;d}' fichier
          A
          B
          C
          D
          
          [tmpfs]$
          ;-))
          -1