evita permissão negada spam ao usar o comando find

15

Costumo tentar encontrar arquivos com a seguinte sintaxe:

find . -name "filetofind"

No entanto, isso geralmente resulta em várias linhas ou relatórios de erros (Permissão negada) sobre pastas em que a permissão é negada. Existe alguma outra maneira de evitar este spam do que usar o sudo ou o avançado grepping da saída de erro?

    
por user40167 24.08.2010 / 12:54

3 respostas

21

Tente

find . -name "filetofind" 2>/dev/null

Isso redirecionará o fluxo de saída stderr , que é usado para relatar todos os erros, incluindo o "Acesso negado", ao dispositivo nulo.

    
por 24.08.2010 / 12:57
3

Se você quiser ver outros erros e não tiver arquivos com "permissão negada", isso funcionará "melhor".

find . -name "filetofind" 2>&1 | grep -v 'permission denied' 

Redirecionando a saída para grep com a opção de inversão.

    
por 24.11.2012 / 06:31
3

Você também pode usar os predicados -perm e -prune para evitar a descida para diretórios ilegíveis (ver também Como eu removo as declarações de impressão" permissão negada "do programa de busca? - Unix & Linux Stack Exchange :

find . -type d ! -perm -g+r,u+r,o+r -prune -o -name "filetofind" -print
    
por 23.03.2014 / 16:16

Tags