Estou trabalhando com um texto que está cheio de coisas entre colchetes [] que não quero. Como eu mesmo posso excluir os colchetes, não preciso de uma linha para fazer isso por mim, mas preciso de uma linha que remova tudo entre eles.
E os parênteses () em vez de colchetes?
fonte
s/\[[^\[\]]*\]//g
(ou seja, usar barras invertidas para escapar dos membros do conjunto de caracteres).[…]
= conjunto de caracteres.^
como o primeiro caractere significa complementar o conjunto.]
normalmente seria marcar o final do conjunto, mas se for o primeiro caractere^
, é um caractere comum - um conjunto vazio ou o complemento do conjunto vazio não é permitido. Então[
é comum e]
termina o conjunto.O comando
sed -e 's/([^()]*)//g'
fará parênteses em vez de colchetes.fonte