[SP-pm] Buscar arquivos por data de alteração

Stanislaw Pusep creaktive at gmail.com
Thu Jan 13 12:38:42 PST 2011


O find, sendo altamente especializado, é mais eficiente... Na minha máquina,
o mesmo comando, usando "/" ao invés de "/etc", leva 5 segundos, contra 8.6
via Perl. Que fique claro: com a tabela de inodes cacheada. Ou seja: na 1-a
"rodada", qqer um deles demora muuuuuuito mais por conta do acesso
não-contínuo ao disco (a menos que vc tenha SSD, que ajuda).

ABS()



2011/1/13 "Flávio R. Lopes" <flavio.lopes em links.inf.br>

>  Obrigado Stanislaw, valeu pela dica!
> Vou olhar melhor os "File Test Operators".
>
> Uma outra coisa, por curiosidade: Existe diferença de performance entre
> usar:
>
>
> find /etc -mtime -1 -type f -print
> ou
>
> perl -MFile::Find -E 'find sub{say $File::Find::name if -f && 1.0 > -M},
> qw(/etc)'
>
> Pergunto isto pois dependendo do diretório, seus sub-diretórios e números
> de arquivos, gostaria de saber quais das formas me retorma mais rápido o
> resultado da busca.
>
> abraço,
> Flávio
>
>
>
> Em 13-01-2011 17:05, Stanislaw Pusep escreveu:
>
> O código Perl equivalente ao seu "find":
>
> perl -MFile::Find -E 'find sub{say $File::Find::name if -f && 1.0 > -M},
> qw(/etc)'
>
> Trocando em miúdos, o File::Find funciona por meio de um callback: para
> cada arquivo encontrado, ele chama uma função que você define (no caso, usei
> uma anônima). E para cada diretório "explorado", o find() dá um chdir().
> Dentro da função chamada, a variável $_ recebe o nome do arquivo.
>
> ABS()
>
>
>
> 2011/1/13 "Flávio R. Lopes" <flavio.lopes em links.inf.br>
>
>> Boa tarde pessoal.
>>
>> Preciso fazer uma buscar no meu sistema por arquivos que foram criados ou
>> modificados em determinado período.
>> Por exemplo, no meu terminal se eu digitar: "find /etc -mtime -1 -type f
>> -print" me listar os arquivos modificados no dia anterior.
>>
>> Estive dando uma olhada no módulo File::Find, mas acho que não estou
>> entendendo direito.
>>
>> O que posso usar para fazer esta busca?
>>
>> abraço,
>> Flávio
>> =begin disclaimer
>>  Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>> SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>
>
> =begin disclaimer
>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> <http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>
>
>
> =begin disclaimer
>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20110113/e6291306/attachment.html>


More information about the SaoPaulo-pm mailing list