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ć?


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

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 

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

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

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

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

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

0

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

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

-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ą.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.