Conserver une chaine d'un fichier entre deux chaines

Résolu
Travail01 -  
 Travail01 -
Bonjour,

Je cherchais à conserver une chaîne de mon fichier présente entre deux autres chaines (disons entre "aa" et "cc"). J'ai réussi à le faire cependant "aa" et "cc" se répètent plusieurs fois et donc j'aimerais récupérer seulement ce qu'il y a entre la première fois où apparaissent "aa" et "cc".
Ce que je récupère actuellement c'est la chaîne entre la première fois où apparaît "aa" et la dernière fois où est "cc"
Ci-dessous le détail de ce que je veux pour être plus clair ; )

ma commande : sed 's/.*aa\(.*\)cc.*/\1/' monfic.txt
contenu de monfic.txt (1 seule ligne) : aazzaczzccyyayyaattcttcc
résultat obtenu : zzaczzccyyayyaattctt
résultat voulu : zzaczz

Merci par avance de votre aide :)

2 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 502
     
    Salut,

    $ echo "aazzzccyyyaatttcc" | sed 's/aa\([^c]*\)c.*/\1/'
    zzz

    0
    1. Travail01
       
      Merci ! J'ai oublié de préciser que je pouvais avoir un truc du genre "aazzaczzccyyayyaattcttcc" dans mon fichier donc le fait de vérifier la présence d'un "c" ne fonctionnerai pas : j'aurai "aazza" alors que je voudrai "aazzaczz".
      (Je viens d'éditer mon post)
      0
      1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 502 > Travail01
         
        $ echo "aazzaczzccyyyaatttcc" | sed 's/aa\([^c]*c[^c]*\).*/\1/'
        zzaczz
        0
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    $ echo aazzaczzccyyayyaattcttcc | awk '{split($1, t, "aa|cc"); print t[2]}'
    zzaczz
    0
    1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
       
      plus simple
      $ echo aazzaczzccyyayyaattcttcc | awk -F "aa|cc" '{print $2}'
      zzaczz
      0
      1. Travail01 > dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Merci c'est nickel !
        0