Eu tenho o seguinte comando:
find / -name libGL.so.1
O que retorna muitas linhas com "Permissão negada". Quero excluir essas linhas, então adicionei o seguinte:
find / -name libGL.so.1 | grep -v 'denied'
Mas a saída é a mesma - o meu grep -v 'denied'
não está filtrando as linhas com Permission denied
. Eu tentei muitas variações, examinei os tutoriais grep, mas não consigo descobrir o problema. Alguma sugestão?
/foo/bar/denied/libGL.so.1
, combinandostdout
estderr
, em seguida, filtrando iria esconder o resultadoSeu comando deve ser:
A Find está reclamando das permissões do erro padrão (fd2). Para eliminar essas linhas, redirecione (>) o padrão para o bit bucket (/ dev / null).
fonte
As linhas de "permissão negada" estão indo para o fluxo stderr (erro padrão), mas você está canalizando stdout (saída padrão) através do grep.
Você pode redirecionar completamente o stderr com o
fonte
Você já tentou chamar o comando com sudo ?
Se ainda mostrar a mensagem, use o redirecionamento já mencionado do stderr (fd = 2) para o nirvana (/ dev / null) :
Mais ideias aqui , boa sorte!
fonte