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