Use grep para NÃO ver arquivos que correspondam a um padrão?

0

Estou muito familiarizado com o uso do grep com o pipe para excluir tudo que não corresponda a um padrão. Mas posso usar o grep para excluir tudo o que combina um padrão? Eu pensei que isso funcionaria, o

-v

Opção

, como abaixo:

find /media -name "somenamehere" | grep -v "Permission denied"

Mas isso não está funcionando. Alguma idéia porque não e o que eu deveria estar fazendo em vez disso?

    
por confused 09.01.2016 / 16:51

1 resposta

1

O " Permission denied " de find é enviado para stderr em vez de stdout , e a parte grep não afeta o que é mostrado em stderr. Aqui estão duas maneiras de filtrá-las:

Redirecionando stderr para /dev/null

find /media -name "somenamehere" 2>/dev/null

Redirecionando stderr para stdout

find /media -name "somenamehere" 2>&1 | grep -v "Permission denied"

Recursos adicionais para redirecionamento de entrada / saída

por 09.01.2016 / 16:55

Tags