Jak rozpakować podzielone pliki w systemie OS X.

40

Jak rozpakować podzielony plik zip?

W Terminalu napisałem: unzip filename.zipi nie rozpakowałem tego pliku.

Terminal napisał:

$ 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

Dwukrotne kliknięcie tego pliku filename.zip.cpgz

Co mogę zrobić?

Kris
źródło
1
Czy są jakieś inne części tego pliku, czy masz tylko jedną część? Jeśli masz tylko jeden, czy próbujesz uzyskać zawartość tylko tej części?
slhck,
Czy próbowałeś już innych narzędzi do kompresji? Uruchomiłbym dekompresję i gunzip na pliku i sprawdziłbym, czy został przetworzony przy pomocy jednego z nich.
Wilersh,
Rozpakowanie wielu archiwów za pomocą unarchiver.app nie stanowi problemu, ale szukam polecenia terminalu, aby to zrobić bez użycia żadnych aplikacji.
Kris,
Najpierw przeniosę go do okna systemu Windows i wypróbuję na nim 7Zip. Jeśli to nie zadziała, spróbuję znaleźć resztę plików zip i połączyć je razem.
Daniel R Hicks

Odpowiedzi:

51

To było proste i jedyne rozwiązanie, które działało dla mnie na OS X (zaczerpnięte stąd ).

1. Aby utworzyć podzielone archiwum zip (seria plików o nazwie zip, z01, z02 ...), uruchom następującą komendę w Terminalu:

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

2. Aby wyodrębnić podzielone archiwum zip (seria plików o nazwie zip, z01, z02 ...), uruchom następującą komendę w Terminalu:

Najpierw połącz podzielone archiwum w jedno archiwum:

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

Wyodrębnij pojedyncze archiwum za pomocą rozpakowania:

unzip unsplit-foo.zip
Primoz Rome
źródło
22
jeśli podzieliłeś pliki binarne, takie jak file.zip.001, file.zip.002 ... może być konieczne połączenie plików np. za pomocą catpolecenia:cat file.zip.* > single.zip
Karl Adler
@abimelex Twój komentarz pomógł rozwiązać mój dokładny scenariusz!
Daniel Apt
Jesteś mężczyzną @abimelex !!!!! - Musiałem użyć p7zip, aby je wyodrębnić z powodu tego błędu:need PK compat. v5.1 (can do v4.5)
bryan
Cieszę się że mogę pomóc. Ponieważ komentarz ma dużo głosów pozytywnych, dodałem go również jako odpowiedź.
Karl Adler
10

Po prostu catwszystkie pliki zip w sekwencji do jednego pliku i użyj unzippolecenia na tym.

Na przykład:

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

unzip s.zip 
Centra handlowe
źródło
7

Dodatkowo do tej odpowiedzi , jeśli masz podzielone pliki binarne, jak file.zip.001, file.zip.002... może po prostu trzeba połączyć za pomocą polecenia cat pliki np:

cat file.zip.* > single.zip
Karl Adler
źródło
3

Wystarczy uruchomić to polecenie w wierszu polecenia bash, aby połączyć zamki.

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

powyższy przykład ma 5 części.

Następnie rozpakuj plik przy użyciu swojej ulubionej metody

unzip uncut-version.zip
cyborg77
źródło
2

Testowane na systemie Mac OS 10.8.5

  • Użyj darmowej wersji Stuffit Expander
  • Po prostu przeciągnij ostatni plik (ten z rozszerzeniem .ZIP) w Stuffit
  • Poczekaj chwilę, bo wygląda na to, że Stuffit najpierw odbudowuje cały plik
  • Zobacz wszystkie rozpakowane pliki
Florent INPAGINA
źródło
2

W moim przypadku w systemie OS X 10.11.6 miałem wieloczęściowe archiwum z rozszerzeniami

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

Za pomocą

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

dał mi jeden zamek błyskawiczny. Nie wyodrębniał się za pomocą rozpakowania, ale zrobił to za pomocą 7zip, zainstalowanego przez MacPorts:

port install p7zip
7za x out.zip
rhaleblian
źródło
1

Uderzyłem ten problem, próbując ponownie złożyć duży katalog pobrany z Dysku Google.

Podobnie jak w przypadku tego problemu , jeśli masz do czynienia z zestawem plików zip, które nie zawierają numerowanych rozszerzeń plików (foo.z01, foo.z02 itp.) I są po prostu wieloma plikami zip, które powinny zostać zarchiwizowane razem w tym samym katalogu, plik działało dla mnie:

unzip '*.zip' -d /path/to/unzip/destination
Klewis
źródło
0

To było najprostsze rozwiązanie, jakie udało mi się znaleźć:

find ./ -name "*.zip" -exec unzip {} \;
Fguillen
źródło
-1

To, co zadziałało, jest bardzo proste: otwórz plik .z01 za pomocą bezpłatnej aplikacji Mac Unarchiver (dostępnej w Mac App Store). Ładnie radzi sobie z ekstrakcją.

Yongwei Wu
źródło