para suprimir erros de permissão negada, adicione 2>/dev/null
ao final da sua declaração find
Sou um newb unix. Estou usando o find, mas estou obtendo muitos resultados para caber na minha tela, pois está listando as permissões negadas. Eu tentei canalizar mais, mas isso não parece ter nenhum efeito. Então, eu tenho duas perguntas:
Obrigado
tente com (se você estiver usando sh, bash):
find . -name "foo" 2>&1 | more
Não sei por que a canalização para mais não funciona para você. Mas uma solução simples seria redirecionar a saída para um arquivo e, em seguida, paginar isso. O seguinte redirecionará a saída padrão para um arquivo, e o erro padrão manterá o padrão, que é exibir o erro na tela:
find . -iname '*something*' > myfile.out
more myfile.out
Você terá que esperar que a localização seja concluída para ver tudo. Se você quiser se livrar dessas mensagens de erro completamente, e ainda tiver os resultados sem erros, vá para o arquivo:
find . -iname '*something*' > myfile.out 2> /dev/null
Sempre que você executar isso, myfile.out será sobrescrito. Esse redirecionamento é padrão no shell e pode ser usado com a maioria dos comandos. Aqui está um pequeno tutorial sobre redirecionamento , vale a pena aprender.
Os outros exemplos:
Com 2>&1
, o erro padrão (stderr) está sendo redirecionado para stdout, então ambos acabam sendo canalizados para mais. Com 2 > / dev / null você está enviando para um dispositivo especial que é basicamente um buraco negro (também conhecido como o balde de bits). Com o * nix, os dispositivos são representados como arquivos.