Sed isoler les parenthèses
Résolu/Fermé
hblkjack
Messages postés
8
Date d'inscription
lundi 19 décembre 2011
Statut
Membre
Dernière intervention
14 février 2012
-
19 déc. 2011 à 10:58
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 19 déc. 2011 à 11:42
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 19 déc. 2011 à 11:42
A voir également:
- Sed match parentheses
- Voir match en direct gratuitement - Accueil - Guide streaming
- Sed supprimer ligne - Astuces et Solutions
- Bp match ✓ - Forum Loisirs / Divertissements
- Match hockey ce soir en direct - Forum Réseaux sociaux
- Télécharger match de foot complet gratuit - Forum Téléchargement
3 réponses
hblkjack
Messages postés
8
Date d'inscription
lundi 19 décembre 2011
Statut
Membre
Dernière intervention
14 février 2012
1
19 déc. 2011 à 11:12
19 déc. 2011 à 11:12
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'
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
19 déc. 2011 à 11:06
19 déc. 2011 à 11:06
Salut,
Qu'as-tu essayé de faire déjà ?
Qu'as-tu essayé de faire déjà ?
hblkjack
Messages postés
8
Date d'inscription
lundi 19 décembre 2011
Statut
Membre
Dernière intervention
14 février 2012
1
19 déc. 2011 à 11:38
19 déc. 2011 à 11:38
Ca marche du feu de Dieu. Merci.
Merci.
echo 'ab(c)def(ghi)jkl' | sed -rn 's/[^(]*\(([^)]*)\)[^(]*/\1/gp'
Merci.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 417
19 déc. 2011 à 11:42
19 déc. 2011 à 11:42
De rien ;-))
Perso j'avais :
Perso j'avais :
sed -n 's/[^(]*(\([^)]*\))[^(]*/\1/gp'
19 déc. 2011 à 11:20
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 "[^)]".