[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