Exclua todas as palavras entre parênteses com sed

2

Como posso fazer isso em sed , tenho uma longa lista de coisas e algumas são cercadas por parênteses.

lol
xml
lol
lol (347)
idiot (67)

Como pode excluir (347) e (67) , mas para uma lista enorme com números e letras aleatórias entre parênteses?

Eu tentei este comando, sed 's/(*)/hshshshshs/g' , mas sou novo em sed .

Eu ia usar apenas um editor de texto para substituir hshshshshs por nada, pois não tinha certeza se sed poderia manipular linhas vazias.

    
por DisplayName 06.08.2014 / 20:56

2 respostas

5

Tente isto:

$ sed -e 's/([^()]*)//g'

Ou você pode usar o Perl:

$ perl -pe 's/\(.*?\)//g'
    
por 06.08.2014 / 21:05
-1

O * significa repetir o caractere anterior zero ou mais vezes. Tente adicionar um . que corresponda a qualquer caractere: sed's/(.*)/hshshshshs/g

    
por 06.08.2014 / 21:03