Conserver une chaine d'un fichier entre deux chaines

Résolu/Fermé
Travail01 - Modifié par Travail01 le 4/12/2015 à 17:22
 Travail01 - 7 déc. 2015 à 09:48
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 :)

A voir également:

2 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
4 déc. 2015 à 17:22
Salut,

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

0
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
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407 > Travail01
4 déc. 2015 à 18:38
$ echo "aazzaczzccyyyaatttcc" | sed 's/aa\([^c]*c[^c]*\).*/\1/'
zzaczz
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
5 déc. 2015 à 09:31
hello
$ echo aazzaczzccyyayyaattcttcc | awk '{split($1, t, "aa|cc"); print t[2]}'
zzaczz
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
5 déc. 2015 à 11:44
plus simple
$ echo aazzaczzccyyayyaattcttcc | awk -F "aa|cc" '{print $2}'
zzaczz
0
Travail01 > dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024
7 déc. 2015 à 09:48
Merci c'est nickel !
0