Descompactando arquivos ZIP divididos em partes

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

[ Hits: 18.645 ]

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

Desativando "saudação de três dedos" (Ctrl+ Alt+Del) em distribuições que usam Upstart

Instalando fontes da Microsoft em distribuição RPM

Criando pacote nvidia-legacy340-driver no Slackware -current após update de 10/03/2016

Fazendo o Steam funcionar no openSUSE Leap 42.2

OpenJDK 7 em Debians-like - Como instalar corretamente

Leitura recomendada

Formatando pendrive em VFAT com comandos no Linux

Os comandos basename e dirname

Como mostrar/esconder janelas a partir da linha de comando

O comando chage

Cansado do Ctrl c Ctrl v?

  

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