Como pular erros de “permissão negada” ao executar find no Linux?

Como pular erros de “permissão negada” ao executar find no Linux?

Possível duplicata:
Como removo declarações de impressão de “permissão negada” do programa find?

Quando executo este comando no Linux (SuSE):

find / -name ant

Recebo muitas mensagens de erro do formulário:

find: `/etc/cups/ssl': Permission denied

É findnecessário um argumento para ignorar a exibição desses erros e tentar apenas os arquivos que tenho permissão para acessar?

Responder1

você pode filtrar mensagens para stderr. Eu prefiro redirecioná-los para stdoutassim.

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

Explicação:

Resumindo, toda a saída regular vai para a saída padrão ( stdout). Todas as mensagens de erro para erro padrão ( stderr).

grepgeralmente encontra/imprime a string especificada, -vinverte isso, então encontra/imprime todas as strings quenãocontém "Permissão negada". Toda a saída do comando find, incluindo mensagens de erro normalmente enviadas para stderr(descritor de arquivo 2), vai agora para stdout(descritor de arquivo 1) e depois é filtrada pelo grepcomando.

Isso pressupõe que você esteja usando o bash/shshell.

Abaixo tcsh/cshvocê usaria

 find / -name art |& grep ....

informação relacionada