Vinicius Costa Carvalho wrote:
>Saudações Linuxistas de plantão.
>
>Seguinte, eu estou querendo verificar as permissões de alguns arquivos
>com o "find | if" mas estou tendo dificuldades, alguém tem alguma
>idéia? Seguem algumas tentativas que falharam:
>
>find /pasta -type f -print | if [ -r "$0" ] then echo ok else echo erro
> fi \;
>
>find /pasta -type f -exec if [ -r {} ] then echo ok else echo erro fi \;

Olá Vinícius

find -type f -exec sh -c 'if [ -r {} ]; then echo ok; else echo erro; fi' \;

Ou, para funcionar com espaços:
find -type f -exec sh -c 'if [ -r "{}" ]; then echo ok; else echo erro; fi' 
\;

Com o xargs:
find -type f | xargs -i sh -c 'if [ -r "{}" ]; then echo ok; else echo 
erro; fi'

Com o while:
find -type f | while read f; do if [ -r "$f" ]; then echo ok; else echo 
erro; fi; done

Note que o comando acima é muito mais rápido que qualquer uma das 
alternativas anteriores.

E, por fim, a maneira mais simples:
find -type f -perm +400


-- 
  Thiago Macieira  -  thiago (AT) macieira.info - thiago (AT) kde.org
    PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
---------------------------------------------------------------------------
Esta lista é patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br

Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utilização da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html

Responder a