Estoy trabajando con un texto que está lleno de cosas entre corchetes [] que no quiero. Como puedo eliminar los corchetes yo mismo, no necesito el one-liner para hacer eso por mí, pero sí necesito un one-liner que elimine todo entre ellos.
¿Qué pasa con paréntesis () en lugar de paréntesis?
fuente
s/\[[^\[\]]*\]//g
(es decir, utilizar barras invertidas para escapar de los miembros del conjunto de caracteres).[…]
= conjunto de caracteres.^
como el primer personaje significa complementar el conjunto.]
normalmente se marcaría el final del conjunto, pero si es el primer carácter que no sea^
, es un carácter ordinario: un conjunto vacío o el complemento del conjunto vacío no está permitido. Luego[
es ordinario y]
termina el conjunto.El comando
sed -e 's/([^()]*)//g'
hará paréntesis en lugar de corchetes.fuente