Je travaille avec un texte plein de choses entre crochets [] que je ne veux pas. Comme je peux supprimer les crochets moi-même, je n'ai pas besoin de la ligne unique pour le faire à ma place, mais j'ai besoin d'une ligne unique qui supprimera tout ce qui se trouve entre eux.
Qu'en est-il des parenthèses () au lieu des crochets ?
Réponse acceptée :
Remplacer [some text] par la chaîne vide. En supposant que vous ne vouliez pas analyser les crochets imbriqués, le some text ne peut pas contenir de crochets.
sed -e 's/[[^][]*]//g'
Notez que dans l'expression entre parenthèses [^][] pour correspondre à tout sauf [ ou ] , le ] doit venir en premier. Normalement un ] terminerait le jeu de caractères, mais si c'est le premier caractère du jeu (ici, après le ^ caractère de complémentation), le ] se suffit à lui-même.
Si vous voulez analyser les crochets imbriqués, ou si le texte entre crochets peut s'étendre sur plusieurs lignes, sed n'est pas le bon outil.