Suprime as linhas de saída do comando que contêm uma determinada string

0

Quando executo um comando arbitrário no terminal no linux, existe uma maneira de suprimir mensagens de saída que contenham uma certa sentença?

Eu tentei

./mycommand | grep -v "I dont want to see this"

mas as mensagens ainda estavam lá.

    
por spiderface 15.03.2016 / 23:41

1 resposta

3

Talvez a parte indesejada faça parte da saída para stderr, mas para stdout.

Tente:

./mycommand 2>&1 | grep -v "I dont want to see this"

Você pode canalizar stderr e stdout para destinos diferentes. Então você pode ver de onde vem a saída:

./ mycommand > > (grep -v "Eu não quero ver isso" > stdout.log) 2 > > (grep -v "Eu não quero ver isso" > stderr.log)

    
por cmks 15.03.2016 / 23:47