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

<br>ABS()<br><br>
<br><br><div class="gmail_quote">2011/1/13 &quot;Flávio R. Lopes&quot; <span dir="ltr">&lt;<a href="mailto:flavio.lopes@links.inf.br">flavio.lopes@links.inf.br</a>&gt;</span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">




  

<div bgcolor="#ffffff" text="#000000">
Obrigado Stanislaw, valeu pela dica!<br>
Vou olhar melhor os &quot;File Test Operators&quot;.<br>
<br>
Uma outra coisa, por curiosidade: Existe diferença de performance entre
usar:<div class="im"><br>
<br>
find /etc -mtime -1 -type f -print<br></div>
ou<div class="im"><br>
perl -MFile::Find -E &#39;find sub{say $File::Find::name if -f &amp;&amp;
1.0 &gt; -M}, qw(/etc)&#39;<br>
<br></div>
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.<br>
<br>
abraço,<br>
Flávio<br>
<br>
<br>
<br>
Em 13-01-2011 17:05, Stanislaw Pusep escreveu:
<div><div></div><div class="h5"><blockquote type="cite">O código Perl equivalente ao seu &quot;find&quot;:<br>
  <br>
perl -MFile::Find -E &#39;find sub{say $File::Find::name if -f &amp;&amp;
1.0 &gt; -M}, qw(/etc)&#39;<br>
  <br>
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 &quot;explorado&quot;, o find() dá um
chdir(). Dentro da função chamada, a variável $_ recebe o nome do
arquivo.<br>
  <br>
ABS()<br>
  <br>
  <br>
  <br>
  <div class="gmail_quote">2011/1/13 &quot;Flávio R. Lopes&quot; <span dir="ltr">&lt;<a href="mailto:flavio.lopes@links.inf.br" target="_blank">flavio.lopes@links.inf.br</a>&gt;</span><br>
  <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Boa
tarde pessoal.<br>
    <br>
Preciso fazer uma buscar no meu sistema por arquivos que foram criados
ou modificados em determinado período.<br>
Por exemplo, no meu terminal se eu digitar: &quot;find /etc -mtime -1 -type
f -print&quot; me listar os arquivos modificados no dia anterior.<br>
    <br>
Estive dando uma olhada no módulo File::Find, mas acho que não estou
entendendo direito.<br>
    <br>
O que posso usar para fazer esta busca?<br>
    <br>
abraço,<br>
Flávio<br>
=begin disclaimer<br>
 Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a><br>
L&lt;<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>&gt;<br>
=end disclaimer<br>
  </blockquote>
  </div>
  <br>
  <pre><fieldset></fieldset>
=begin disclaimer
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org" target="_blank">SaoPaulo-pm@pm.org</a>
 L<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">&lt;http://mail.pm.org/mailman/listinfo/saopaulo-pm&gt;</a>
=end disclaimer
  </pre>
</blockquote>
<br>
</div></div></div>

<br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
 L&lt;<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>&gt;<br>
=end disclaimer<br>
<br></blockquote></div><br>