Descompactando arquivos ZIP divididos em partes

Publicado por Luís Fernando C. Cavalheiro em 28/08/2012

[ Hits: 18.827 ]

Blog: https://github.com/lcavalheiro/

 


Descompactando arquivos ZIP divididos em partes



Amigos, às vezes, fazemos um download de um arquivo ZIP que é na verdade, um arquivo múltiplo, ou seja, tem a parte ".zip" principal e tem uma série de arquivos ".zNN" - onde "NN" é um número de começa em 01 e vai até quantas partes forem necessárias para conter todo o arquivo.

Um arquivo assim, foi zipado com a opção de dividi-lo em tantas partes.

Para descompactar um arquivo desses pelo terminal, rode o comando:

cat arquivo.zip arquivo.z01 arquivoz02 ... arquivo.zNN > teste.zip && zip -F teste.zip --out teste2.zip

Ou:

cat arquivo.z* > teste.zip && zip -F teste.zip --out teste2.zip

O redirecionamento para "teste.zip", é para não sobrescrever com nenhum arquivo existente na pasta e, portanto, qualquer nome pode ser usado.

A segunda parte do comando, é um teste para verificar se o agrupamento dos arquivos foi feito corretamente. Se houver erro, ele vai criar o 'teste2.zip", senão, ele vai informar que não foi preciso criar o "teste2.zip", porque o arquivo original não tinha erros.

A seguir, descompacte o arquivo "teste.zip" (ou "teste2.zip", se este foi criado) com o comando:

unzip teste.zip

Ele vai reclamar de algumas coisas (dizendo, por exemplo, que o arquivo parece dizer ser o início de um arquivo múltiplo), mas você pode, seguramente, ignorar as mensagens de erro.

O próprio unzip diz que tentará recompensar o arquivo e o extrairá para você.

Abraços!

Outras dicas deste autor

Instalando Pragha Music Player no Slackware

Impedindo atualização de pacotes específicos no Fedora

Spotify no OpenSUSE

Habilitando supressão de ruído no PulseAudio

Alterando o gerenciador de sessão no Fedora 21

Leitura recomendada

Querem ver os nomes dos usuários em uppercase?

Tutorial básico do APT-GET

Tocando filmes em modo ASCII no console

Montar partição na memória RAM

Como copiar e colar rapidamente no terminal

  

Comentários
[1] Comentário enviado por NLPM em 28/08/2012 - 09:07h

Boa dica, mas para quem não quiser usar o terminal tem um aplicativo similar ao HJSplit do windows que é o LXSplit disponivel no synaptic.

[2] Comentário enviado por lcavalheiro em 28/08/2012 - 11:35h

Eu não sabia desse aplicativo, obrigado!

[3] Comentário enviado por NLPM em 28/08/2012 - 15:27h

Mais um "mas", tua dica é muito boa porque pelo terminal tu fica mais independente, pode utilizar em qualquer SO, tua dica vai para os meus arquivos úteis, já salvei, obrigado.

[4] Comentário enviado por lcavalheiro em 28/08/2012 - 15:34h

Caso você seja um fulano perfeccionista e meio enjoado como eu, e queira que o cat concatene os arquivos arquivo.zip, arquivo.z01, arquivo.z02... na ordem numérica, você pode fazer da seguinte maneira:

[code] $ cat arquivo.zip > teste.zip && for i in `seq -w 1 1 N`; do cat arquivo.z$i >> teste.zip; done && zip -F teste.zip --out teste2.zip [/code]

Em que o "N" dentro do comando seq entre crases é o número do último arquivo da sequência. Isso minimiza as mensagens de erro no final, além de ficar mais bonitinho.

[5] Comentário enviado por landsant em 29/09/2013 - 16:11h

e ai galera...
dica muito boa mas só compartilhando uma experiencia que tive...

cat arquivo.zip > teste.zip && for i in `seq -w 1 1 N`; do cat arquivo.z$i >> teste.zip; done && zip -FF teste.zip --out teste2.zip

quando utilizei somente -F, tive erro. Quando utilizei -FF, foi melzinho na chupeta! :))

no meu caso, pediu pra confirmar se era multidisk ou nao, e voilá!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts