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

Thiago thiagoglauco at ticursos.net
Thu Jan 13 16:30:31 PST 2011


A vantagem da linguagem de script seria a função de callback do 
file::find. Você não fica limitado a achar o arquivo, mas pode fazer 
outras coisas com ele.
On 13-01-2011 18:38, Stanislaw Pusep wrote:
> 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 
> <mailto: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
>>     <mailto: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
>>         <mailto: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  <mailto: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
>     <mailto: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>
> =end disclaimer

-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20110113/166c6f98/attachment-0001.html>


More information about the SaoPaulo-pm mailing list