pode sed remover todas as linhas que contenham 'foo'?

2

Eu li em algum lugar que:

sed -n -e '/foo/d' myinputfile.txt

removeria todas as ocorrências de 'foo' de myinputfile.txt.

No entanto, isso não parece funcionar para mim. Eu sou um noob sed e não consigo resolver isso. Estou basicamente tentando executar um script bash que chama sed em cada linha para remover uma palavra do arquivo de entrada e nada acontece quando eu o executo.

Obrigado :)

    
por isildur 30.07.2012 / 02:30

1 resposta

3

Você leu incorretamente.

No entanto, embora a expressão sed esteja correta, as sinalizações não são. O sed normalmente produz cada linha à medida que a processa para stdout, mas -n suprime isso. O resultado final é que nenhuma linha é gerada. Você deve remover o -n se quiser a saída correta. Você pode redirecionar isso para outro arquivo e depois mover esse arquivo para o lugar.

    
por 30.07.2012 / 02:34