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]