Comment décompresser des fichiers fractionnés sous OS X


40

Comment décompresser un fichier zip divisé?

Dans Terminal, j'ai écrit: unzip filename.zipet le fichier n'a pas été décompressé.

Terminal a écrit:

$ 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

Double-clic sur ce fichier créant filename.zip.cpgz

Que puis-je faire?


1
Alors, y a-t-il d'autres parties de ce fichier ou avez-vous seulement cette partie? Si vous n'en avez qu'un, essayez-vous d'obtenir le contenu de cette partie uniquement?
Slhck

Avez-vous essayé d'autres outils de décompression? Je courais décompresser et gunzip sur le fichier et voir si a été traitée avec l'un de ceux-ci.
Wilersh

Ce n'est pas un problème de décompresser plusieurs archives en utilisant unarchiver.app, mais je cherche la commande de terminal pour le faire sans utiliser aucune application.
Kris

Je commencerais par passer sous Windows et d’essayer 7Zip dessus. Si cela ne fonctionne pas, j'essaierai de trouver le reste des fichiers zip et de les concaténer.
Daniel R Hicks

Réponses:


51

C’était la seule et unique solution qui fonctionnait pour moi sur OS X (prise d’ ici ).

1. Pour créer une archive zip fractionnée (une série de fichiers nommés zip, z01, z02 ...), exécutez la commande suivante dans Terminal:

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

2. Pour extraire une archive zip fractionnée (une série de fichiers nommés zip, z01, z02 ...), exécutez la commande suivante dans Terminal:

Commencez par combiner l’archive divisée en une archive unique:

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

Extrayez l’archive unique en utilisant unzip:

unzip unsplit-foo.zip

22
Si vous avez divisé des fichiers binaires, tels que fichier.zip.001, fichier.zip.002 ..., il vous suffira peut-être de combiner les fichiers, par exemple, à l'aide de la catcommande:cat file.zip.* > single.zip
Karl Adler

@abimelex votre commentaire a aidé à résoudre mon scénario exact!
Daniel Apt

Vous êtes l'homme @abimelex !!!!! - J'ai dû utiliser p7zip pour les extraire à cause de cette erreur:need PK compat. v5.1 (can do v4.5)
bryan

Je suis heureux d'aider. Comme le commentaire a beaucoup de votes positifs, je l’ajoute aussi comme réponse.
Karl Adler

10

Juste cattous les fichiers zip en séquence dans un seul fichier et utilisez la unzipcommande à ce sujet.

Par exemple:

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

unzip s.zip 

7

en plus de cette réponse si vous avez des binaires séparés, comme file.zip.001, file.zip.002... vous aurez juste besoin de combiner à l' aide de la commande cat des fichiers:

cat file.zip.* > single.zip

3

Il suffit d’exécuter cette commande à l’invite bash pour concaténer les zips.

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

l'exemple ci-dessus a 5 parties.

Puis décompressez le fichier en utilisant votre méthode préférée

unzip uncut-version.zip

2

Testé sur un Mac OS 10.8.5

  • Utilisez la version gratuite de Stuffit Expander
  • Il suffit de faire glisser le dernier fichier (celui avec l'extension .ZIP) dans Stuffit
  • Attendez un moment, car il semble que Stuffit reconstruit d’abord le fichier complet
  • Voir tous vos fichiers décompressés

2

Dans mon cas, sous OS X 10.11.6, j’avais une archive en plusieurs parties avec des extensions.

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

En utilisant

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

m'a obtenu un zip simple. Il n'a pas extrait avec unzip, mais avec 7zip, installé via MacPorts:

port install p7zip
7za x out.zip

1

J'ai trouvé ce problème en essayant de ré-assembler un répertoire volumineux téléchargé à partir de Google Drive.

Semblable à ce problème , si vous traitez avec un ensemble de fichiers zip n'incluant pas d'extensions de fichiers numérotées (foo.z01, foo.z02, etc.) et sont simplement plusieurs fichiers zip qui doivent être désarchivés ensemble dans le même répertoire, ce qui suit a fonctionné pour moi:

unzip '*.zip' -d /path/to/unzip/destination

0

C'était la solution la plus simple que j'ai pu trouver:

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

-1

Ce qui a fonctionné pour moi est très simple: ouvrez le fichier .z01 avec l’application gratuite Mac The Unarchiver (disponible sur le Mac App Store). Il gère bien l'extraction.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.