[Cascavel-pm] Res: Res: Listar ultimos arquivos criados

Adriano Ferreira a.r.ferreira em gmail.com
Terça Fevereiro 19 07:15:18 PST 2008


2008/2/19 Patty Silva <ptfzs em yahoo.com.br>:
>
> Obrigada pela Dica :)
> So uma coisa... isso sao em dias.. mas se eu quiser buscar os arquivos das
> ultimas 2 horas por exemplo...

O retorno de -M traz frações de dias também. Assim:

     { -M < 2.0/24 }

pode servir para os seus propósitos. Mas cuidado com a definição do -M

É o instante de início do script menos o instante da última
modificação do arquivo. Quer dizer

       -M < 2    seleciona os arquivos modificados a menos de 2 dias
do começo do script

assim como

       -M < 2.0/24  seleciona os modificados a menos de 2 horas do
começo do script

Se o script é um daemon, esta interpretação não vai lhe servir.

> Obrigada :)
>
>
> ----- Mensagem original ----
> De: Adriano Ferreira <a.r.ferreira em gmail.com>
> Para: Cascavel Perl Mongers <cascavel-pm em pm.org>
> Enviadas: Terça-feira, 19 de Fevereiro de 2008 1:42:47
> Assunto: Re: [Cascavel-pm] Res: Listar ultimos arquivos criados
>
>
>
> 2008/2/18 Patty Silva <ptfzs em yahoo.com.br>:
> >
> > Ok.. Obrigada pela dica:
> > .
> > .
> > .
> > .
> >  my @files = grep -M > 2, readdir $dh;
> >
> >
> > closedir $dh;
> >
> >
> > for my $file ( @files ) {
> >      ......
> >      }
>
> Bonito código! Duas observações:
>
> * por estilo, talvez seja preferível marcar o bloco do 'grep'
> explicitamente - o que facilita a manutenção e evolução por outras
> pessoas (e inclusive por você daqui a uns tempos)
>
>     grep { -M < 2 } ...
>
> * Você pode-se livrar do opendir/readir/closedir através de um glob
>
>   my $glob = 'dir/*'
>   my @files = grep { -M > 2 } glob( $glob );
>
> # tudo aqui continua como antes
>  for my $file ( @files ) {
>       ......
>       }
>
> Com a vantagem de que este código é mais geral porque o $glob pode
> incluir vários diretórios e trabalhar diferentes 'patterns' como:
>       my $glob = '{dir1,dir2}/*';
>       my $glob = 'dir/*/*.txt';
>
> e coisas assim.
>
> Atenção que o " glob( $glob ) " pode ser substituído pelo operator "
> <$glob> " mas não é recomendável pela mesma razão do bloco do grep sem
> as chaves: reduz a ambigüidade (confusão com o operador "readline":
> <$fh>) e melhora a legibilidade.
>
> Parabéns.
>
> >
> > ----- Mensagem original ----
> > De: Adriano Ferreira <a.r.ferreira em gmail.com>
> > Para: Cascavel Perl Mongers <cascavel-pm em pm.org>
> > Enviadas: Segunda-feira, 18 de Fevereiro de 2008 16:51:24
> > Assunto: Re: [Cascavel-pm] Listar ultimos arquivos criados
> >
> >
> >
> > 2008/2/18 Patty Silva <ptfzs em yahoo.com.br>:
> > >
> > > Pessoal, estou usando o modulo use File::stat para retornar informacoes
> > dos
> > > arquivos..
> > > porem gostaria de recuperar os arquivos dos ultimos 2 dias??
> > > o stat me retorna nesse formato:Tue May 24 13:12:58 2005
> > >
> > > Alguem poderia me ajudar??
> >
> > Eu ia dizer:
> >
> > "Show us the code"
> >
> > Mas antes, pense nas respostas que você recebe da lista, respostas que
> > abreviam o problema ao mínimo necessário que no caso é "recuperar os
> > arquivos dos ultimos 2 dias". Portanto faça um esforço para expressar
> > em Perl pelo menos uma aproximação à solução que você quer e então
> > envie para a lista. Assim mais gente pode ler (porque o problema já
> > foi reduzido), e pode concentrar nos pontos de melhora, otimização,
> > estilo, etc. Você aprende em fazer e aprende ao receber as respostas.
> >
> > Dica: o operador -M, a função grep
> >
> > > Obrigada
> > >
> > >  ________________________________
> > > Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
> > > armazenamento!
> > > _______________________________________________
> > > Cascavel-pm mailing list
> > > Cascavel-pm em pm.org
> > > http://mail.pm.org/mailman/listinfo/cascavel-pm
> > >
> > _______________________________________________
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
> >
> >
> >  ________________________________
> > Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
> > armazenamento!
> > _______________________________________________
> > Cascavel-pm mailing list
> > Cascavel-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/cascavel-pm
> >
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>
>
>
>  ________________________________
> Abra sua conta no Yahoo! Mail, o único sem limite de espaço para
> armazenamento!
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
>


Mais detalhes sobre a lista de discussão Cascavel-pm