Juntar arquivos com sobreposição parcial

1. Juntar arquivos com sobreposição parcial

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/07/2008 - 03:01h

Olá a todos! Preciso de um comando para fazer o seguinte:
Imaginem que temos o arquivo1 e o arquivo2 como mostrado a seguir:
arquivo1: abcde
arquivo2: xxxxxfghij
Preciso que no final fique (pode ser no mesmo arquivo ou em um novo arquivo):
abcdefghij
Assim o conteúdo do arquivo1 (no caso 5 bytes) vai em cima do arquivo2 e sobrepoe os 5 primeiros bytes (que no caso são apenas x) e dá o arquivo final. O detalhe, é que são arquivos grandes. O arquivo1 no meu caso tem 1024 bytes e o arquivo2 tem 1.9G. O arquivo2 tem os 1024 bytes inciais com lixo, que serão sobrepostos com o conteúdo do arquivo1. Tentei com o dd mas não deu certo. Não sei se tem algum parametro especial. Obrigado.


  


2. Re: Juntar arquivos com sobreposição parcial

marco chaves
marcola2122

(usa Debian)

Enviado em 18/07/2008 - 06:31h

Não entendi muito bem esses 5 bytes , mas acho que que essa dica vai ajudar::

http://www.vivaolinux.com.br/dicas/verDica.php?codigo=6423


3. Re: Juntar arquivos com sobreposição parcial

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/07/2008 - 10:50h

É que no caso preciso das coisas byte a byte (talvez nem precisasse colocar isso mesmo). Mas acabei conseguindo de uma forma bem deselegante mas bem criativa:
dd if=arquivo2 skip=1 bs=1k | cat >> arquivo1
O que este comando faz é usar o dd para pegar os dados e jogar dentro de um pipe (note que ele pula um bloco, e no caso o bloco tem 1024 bytes, então ele não copiará o lixo) e do outro lado do pipe usa o cat para gravar o fluxo do pipe no fim do arquivo, adicionando o conteúdo. Funcional, feio, mas criativo.


4. Re: Juntar arquivos com sobreposição parcial

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/07/2008 - 10:53h

Quanto a dica que foi mencionada, é basicamente isso. O problema está em pular o "lixo" do arquivo e assim evitar que seja copiado. Seria bem mais fácil se fosse apenas uma adição, por que o cat serviria perfeitamente mas já que no caso tem o lixo dificulta. O que acharam da solução? Alguma mais elegante?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts