Estoy trabajando con un texto que está lleno de cosas entre corchetes [] que no quiero. Dado que puedo eliminar los corchetes yo mismo, no necesito que lo haga por mí, pero sí necesito uno que elimine todo lo que hay entre ellos.
¿Qué pasa con los paréntesis () en lugar de los corchetes?
Respuesta aceptada:
Reemplazar [some text]
por la cadena vacía. Suponiendo que no desea analizar corchetes anidados, el some text
no puede contener corchetes.
sed -e 's/[[^][]*]//g'
Tenga en cuenta que en la expresión entre paréntesis [^][]
para coincidir con cualquier cosa menos [
o ]
, el ]
debe venir primero. Normalmente un ]
terminaría el conjunto de caracteres, pero si es el primer carácter del conjunto (aquí, después de ^
carácter complementario), el ]
representa por sí mismo.
Si desea analizar corchetes anidados, o si el texto entre corchetes puede abarcar varias líneas, sed no es la herramienta adecuada.