Sed isoler les parenthèses
Résolu
hblkjack
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je souhaiterais faire un exercice en sed mais je n'y arrive pas.
Pourriez vous m'aider svp?
Je souhaiterais faire un exercice en sed mais je n'y arrive pas.
On dispose d'un fichier de texte contenant des parenthèses, et on suppose que la parenthèse ouvrante et la parenthèse fermante de chaque paire de parenthèses se trouvent sur une même ligne. Il peut y avoir plusieurs paires de parenthèses (non imbriquées) par ligne. Afficher uniquement le texte contenu entre parenthèses. Ainsi, % echo 'ab(c)def(ghi)jk' | sed ... cghi
Pourriez vous m'aider svp?
A voir également:
- Sed match parentheses
- Application pour regarder match en direct sur iphone - Télécharger - Médias et Actualité
- Parentheses clavier - Forum Clavier
- Clavier azerty crochet < et > - Forum Logiciels
- Resultat match - Télécharger - Vie quotidienne
- Justin tv match - Forum Réseaux sociaux
3 réponses
J'ai essayé avec les backreferences mais ca ne marche pas bien vu que je ne sais pas exactement combien de () il peut y avoir. Dans l'exemple il y en a 2 mais il pourrait y en avoir 3 ou 4.
ou même
echo 'ab(c)def(ghi)jk' | sed -nre 's/.*\((.*)\).*/\1/gp'
ou même
echo 'ab(c)def(ghi)jk' | sed -nre 's/^.*\((.*)\).*/\1/gp'
Un ".*" est beaucoup trop gourmand, et va englober trop de choses ;-\
Il faut que tu joues avec des expressions du genre (je n'emploie pas l'option "-r") :
Qui vont sélectionner dans la référence arrière des caractères se trouvant après une parenthèse ouvrante, mais s'arrêter avant la première parenthèse fermante "[^)]".