Como descompactar arquivos divididos no OS X

40

Como descompacte um arquivo zip dividido?

No Terminal, escrevi: unzip filename.zipe não descompactou este arquivo.

Terminal escreveu:

$ unzip filename.zip
Archive:  filename.zip
warning [filename.zip]:  zipfile claims to be last disk of a multi-part archive;
  attempting to process anyway, assuming all parts have been concatenated
  together in order.  Expect "errors" and warnings...true multi-part support
  doesn't exist yet (coming soon).
file #1:  bad zipfile offset (local header sig):  4
file #2:  bad zipfile offset (local header sig):  98
file #3:  bad zipfile offset (local header sig):  471
file #4:  bad zipfile offset (local header sig):  6635222

Clique duas vezes neste arquivo, criando filename.zip.cpgz

O que eu posso fazer?

Kris
fonte
1
Então, existem outras partes deste arquivo ou você tem apenas essa parte? Se você possui apenas um, está tentando obter apenas o conteúdo desta parte?
slhck
Você já tentou outras ferramentas de descompressão? Eu executava a descompactação e o gunzip no arquivo e veria se foi processado com um deles.
Wilersh
Não há problema em descompactar vários arquivos usando o unarchiver.app, mas estou procurando o comando terminal para fazer isso sem usar nenhum aplicativo.
Kris
Primeiro, eu o levava para uma caixa do Windows e tentava o 7Zip. Se isso não funcionar, tentarei encontrar o restante dos arquivos zip e concatená-los juntos.
Daniel R Hicks

Respostas:

51

Esta foi a solução direta e única que funcionou para mim no OS X (tirada daqui ).

1. Para criar um arquivo zip dividido (uma série de arquivos denominados zip, z01, z02 ...), execute o seguinte comando no Terminal:

zip -s 100m -x "*.DS_Store" -r split-foo.zip foo/

2. Para extrair um arquivo zip dividido (uma série de arquivos denominados zip, z01, z02 ...), execute o seguinte comando no Terminal:

Primeiro, combine o archive dividido em um único archive:

zip -s 0 split-foo.zip --out unsplit-foo.zip

Extraia o arquivo único usando descompactar:

unzip unsplit-foo.zip
Primoz Rome
fonte
22
se você tiver binários divididos, como file.zip.001, file.zip.002 ... talvez seja necessário combinar os arquivos, por exemplo, usando o catcomando:cat file.zip.* > single.zip
Karl Adler
@abimelex, seu comentário ajudou a resolver meu cenário exato!
Daniel Apt
Você é o homem @abimelex !!!!! - Eu tive que usar o p7zip para extraí-los devido a este erro:need PK compat. v5.1 (can do v4.5)
bryan
Fico feliz em ajudar. Como o comentário tem muitos votos positivos, também o adicionei como resposta.
Karl Adler
10

Apenas cattodos os arquivos zip em sequência para um único arquivo e use o unzipcomando nisto.

Por exemplo:

cat file.zip.001 > s.zip 
cat file.zip.002 >> s.zip
cat file.zip.003 >> s.zip

unzip s.zip 
Shoppings
fonte
7

adicionalmente a esta resposta se você tiver binários divididos, como file.zip.001, file.zip.002... talvez seja necessário combinar os arquivos, por exemplo, usando o comando cat:

cat file.zip.* > single.zip
Karl Adler
fonte
3

Basta executar este comando no prompt do bash para concatenar os zips.

for i in `seq 1 5`; do cat file.zip.0$i>>uncut-version.zip; done

o exemplo acima tem 5 partes.

Descompacte o arquivo usando seu método favorito

unzip uncut-version.zip
cyborg77
fonte
2

Testado em um Mac OS 10.8.5

  • Use a versão gratuita do Stuffit Expander
  • Basta arrastar o último arquivo (aquele com extensão .ZIP) no Stuffit
  • Espere um pouco, porque parece que o Stuffit recrie primeiro o arquivo completo
  • Veja todos os seus arquivos descompactados
Florent INPAGINA
fonte
2

No meu caso, no OS X 10.11.6, eu tinha um arquivo multipart com extensões

.z01
.z02
... (etc)
.zip

Usando

zip -s 0 in.zip --out out.zip

me deu um único zip. Não foi extraído com descompactação, mas com 7zip, instalado via MacPorts:

port install p7zip
7za x out.zip
rhaleblian
fonte
1

Eu encontrei esse problema ao tentar montar um diretório grande baixado do Google Drive.

Semelhante a esse problema , se você estiver lidando com um conjunto de arquivos zip que não incluem extensões de arquivo numeradas (foo.z01, foo.z02, etc) e são simplesmente vários arquivos zip que devem ser desarquivados juntos no mesmo diretório, o arquivo O seguinte funcionou para mim:

unzip '*.zip' -d /path/to/unzip/destination
klewis
fonte
0

Esta foi a solução mais simples que pude encontrar:

find ./ -name "*.zip" -exec unzip {} \;
fguillen
fonte
-1

O que funcionou para mim é muito simples: abra o arquivo .z01 com o aplicativo gratuito para Mac The Unarchiver (disponível na Mac App Store). Ele lida bem com a extração.

Yongwei Wu
fonte