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" <[email protected] <mailto:[email protected]>>

    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: [email protected]
    <mailto:[email protected]>
    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: [email protected]
  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: [email protected]
 L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer

Responder a