[Shell-script] Extraire partie de texte

Phil -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous.

J'essaye de faire un script qui me permettrait d'extraire une partie d'un texte.
Cette Partie est récurrente dans le texte mais elle est toujours situé entre 2 lignes :

EVENT
 
la partie que je veux

EVENT


Comment faire pour réaliser cette action ?

Merçi d'avance.
Configuration: Windows XP
Firefox 2.0.0.3

3 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,
    sed -n '/EVENT/,/EVENT/{/EVENT/b;/EVENT/b; p;}' fichier
    Voir aussi : sed substitution

    ;-))
    0
    1. Phil
       
      ok merçi beaucoup :)
      0
  2. Poulpoul
     
    coucouille tout le monde,

    juste une question bête, en fait je ne comprends pas le "/b" dans la syntaxe qu'a donné jipicy
    bien que j'ai regardé le Voir aussi : sed substitution

    @+
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      En fait la commande "b" pour "branch" (et non pas /b, le slash étant le délimiteur pour le motif) sert comme son nom l'indique à se brancher sur un étiquette, mais ici il n'y a point d'étiquette et de ce fait permet d'exclure les lignes contenant les "motifs" de l'affichage final.
      $ cat plop
      
      blablabla
      AAA
      La phrase qu'on veut afficher
      BBB
      bliblibli
      
      $ sed -n '/AAA/,/BBB/p' plop  
      
      AAA
      La phrase qu'on veut afficher
      BBB
      
      $ sed -n '/AAA/,/BBB/ {/AAA/b;/BBB/b;p}' plop
      
      La phrase qu'on veut afficher
      
      $
      ;-))
      0
    2. Poulpoul
       
      merci pour l'explication
      cependant j'obtiens ce message quand je teste ici => sed : 0602-417 L'étiquette /AAA/,/BBB/ {/AAA/b;/BBB/b;p} comporte plus de huit caractères

      je ne suis pas sous linux mais sous AIX/ ksh ....

      ++
      0
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Peut être la version de "sed" alors... d'ailleurs...

    http://sed.sourceforge.net/sedfaq6.html#s6.6
    6.6.5. Limits on length of label names
    
          GNU sed:        no limit
          ssed:           no limit
          HHsed v1.5:     no limit
          sed v1.6:       [pending]
          BSD sed:        8 characters
    

    0