[PortoAlegre-pm] Concatenar arquivos

Patty Silva ptfzs em yahoo.com.br
Sexta Julho 14 13:06:39 PDT 2006


 Mauricio..
 Fiz assim: e funcionou.. porem nao sei se eh a melhor forma:
 
 <CODE>
 --------------------------------------------------------------------------------------------------------------------------------
 #!/usr/bin/perl
 #
 my $caminho= "$ENV{HOME}/perl";
 
 chdir ($caminho) || die "\n *** Erro no diretorio $caminho ***";
 
 while ($arquivo = <*.txt>)
 {
 
             $arquivo=~ /(\d\d\d\d\d\d\d\d\d\d)/;
             $arquivo=$1;
             push(@arquivos,$arquivo);
 
 }
 
 my %hash;
 foreach (@arquivos)
 {
   $hash{$_} = 1;
 }
 foreach (sort keys %hash)
 {
   print "$_\n";
   `cat $_* >$_.txt`;
  }
 
 --------------------------------------------------------------------------------------------------------------------------------
 
 
 E outra coisa.. queria apagar os arquivos permanecendo somente o que eu concatenei.. :)
 
 
 Obrigada pessoal
 
 
 

Mauricio Utils <msb.utils em gmail.com> escreveu: Tu pode criar um hash cuja chave seja o ANOMESDIA e o valor seja um array com os nomes dos arquivos.
 No laço, tu separa com split('_', $arquivo) onde o primeiro valor retornado eh o ANOMESDIA, que tu vai usar como chave no hash.
 Depois de preenchido o hash, tu faz outro laço iterando as chaves do hash e chamando o teu comando. que tal? ;-)
 
    Mauricio   

On 7/13/06, Patty Silva <ptfzs em yahoo.com.br> wrote: Ola Pessoal..
Eu again! :)

Fiz um script para concatenar arquivo de um diretorio:

<CODIGO>
---------------------------------------------------------------------------------------------
 my $caminho= "$ENV{HOME}/teste";

chdir ($caminho) || die "\n *** Erro no diretorio $caminho ***"; 

while ($arquivo = <*.txt>)
 {

  $InFile= $caminho.$arquivo;
 
    push(@arquivos,$arquivo);

}

 system(`cat @arquivos>>$data_out.tmp`);
unlink(@arquivos);

--------------------------------------------------------------------------------------------- 

Porem quero concatenar arquivos com a msm data ou seja, 
os nomes dos arquivos sao ANOMESDIAHORA_tipo.txt
Quero concatenar arquivos com ANOMESDIAHORA iguais.. e gerar somente um ANOMESDIA.txt 

Se alguem puder me dar uma lUz :) 

Obrigada




    

---------------------------------
  Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular.  Registre seu aparelho agora! 


_______________________________________________
PortoAlegre-pm mailing list
PortoAlegre-pm em pm.org 
http://mail.pm.org/mailman/listinfo/portoalegre-pm


 
 _______________________________________________
PortoAlegre-pm mailing list
PortoAlegre-pm em pm.org
http://mail.pm.org/mailman/listinfo/portoalegre-pm

 		
---------------------------------
 Novidade no Yahoo! Mail: receba alertas de novas mensagens no seu celular. Registre seu aparelho agora!
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/portoalegre-pm/attachments/20060714/a3e45270/attachment.html 


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