2010/8/21 Psycho Mantys <[email protected]>:
> Em 21 de agosto de 2010 19:45, Max Miorim <[email protected]> escreveu:
>>
>> Ou só dá um "-ls" ou "-print" no find ao invés do "-exec" para só
>> mostrar o nome do arquivo e não fazer nada. :)
>>
>> OFFTOPIC: Se quiser remover coisas com o find, tu pode só passar um
>> "-delete" ao invés do exec. O único cuidado é com a ordem dos comandos
>> do find, ou seja:
>>
>> - "find /tmp -delete -type f" vai excluir TUDO no /tmp, pois o -delete
>> vem antes do filtro que pega apenas os arquivos (-type f)
>> - "find /tmp -type f -delete" vai excluir apenas os arquivos no /tmp,
>> pois o filtro é feito antes.
>>
>>
>> Voltando ao assunto da thread, tu pode usar o find com o ldd e grep
>> para saber quais os binários que tem alguma biblioteca faltando
>> (cuidado que alguns usam wrappers para definir o LD_LIBRARY_PATH e
>> executar um binario tipo firefox.bin) e pode usar o comando que o
>> psycho passou para descobrir links quebrados.
>>
>> O comando para achar as bibliotecas que faltam pode ser feito assim:
>> find -L /bin \! -type d | while read f; do ldd $f | grep -q "not
>> found" && echo $f; done
>>
>> OBS: "\! -type d" quer dizer "tudo que não for um diretório". Os
>> filtros do find podem receber um operador lógico de negação, neste
>> caso o ! que tem que ser "escapado" (barra invertida) ou colocado
>> entre aspas/apóstrofos.
>>
>> Qualquer coisa, "man find" e "info find" devem ajudar.
>>
> ##############################################################################
>
> Assim, meio nada a ver mas pintou essa duvida em minha pessoa... O
> delete é posix?
>
> Fico meio na duvida de usar ele sempre por achar que é extensão GNU...

Não, é uma extensão GNU, de acordo com esta "tabela" na man page:

 Feature                Added in   Also occurs in
       -newerXY               4.3.3      BSD
       -D                     4.3.1
       -O                     4.3.1
       -readable              4.3.0
       -writable              4.3.0
       -executable            4.3.0
       -regextype             4.2.24
       -exec ... +            4.2.12     POSIX
       -execdir               4.2.12     BSD
       -okdir                 4.2.12
       -samefile              4.2.11
       -H                     4.2.5      POSIX
       -L                     4.2.5      POSIX
       -P                     4.2.5      BSD
       -delete                4.2.3
       -quit                  4.2.3
       -d                     4.2.3      BSD
       -wholename             4.2.0
       -iwholename            4.2.0
       -ignore_readdir_race   4.2.0
       -fls                   4.0
       -ilname                3.8
       -iname                 3.8
       -ipath                 3.8
       -iregex                3.8

Mas qual linux não tem o gnu find hoje em dia? :)

-- 
GUS-BR - Grupo de Usuários de Slackware Brasil
http://www.slackwarebrasil.org/
http://groups.google.com/group/slack-users-br

Antes de perguntar:
http://www.istf.com.br/perguntas/

Para sair da lista envie um e-mail para:
[email protected]

Responder a