Як розпакувати розділені файли на OS X


40

Як розпакувати розділений поштовий файл?

У Терміналі я писав: unzip filename.zipі цей файл не розпаковувався.

Термінал написав:

$ 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

Подвійне клацання по створенню цього файлу filename.zip.cpgz

Що я можу зробити?


1
Отже, чи є інші частини цього файлу чи у вас є лише ця частина? Якщо у вас є лише один, ви намагаєтесь отримати вміст лише цієї частини?
slhck

Ви пробували інші засоби для стиснення? Я б запустив розпакувати та нажати на файл і побачити, чи обробляється один із них.
Віллерш

Розірвати кілька архівів за допомогою unarchiver.app не проблема, але я шукаю команду термінала, щоб зробити це без використання будь-яких додатків.
Крис

Спершу я перенесу його до вікна Windows і спробую 7Zip на ньому. Якщо це не спрацює, я спробую знайти решту фрагментів zip-файлів і об'єднати їх разом.
Даніель Р Хікс

Відповіді:


51

Це було прямим вперед і єдиним рішенням, яке працювало для мене на OS X (взято звідси ).

1. Для створення розділеного архіву zip (серія файлів з назвою zip, z01, z02 ...) виконайте наступну команду в Терміналі:

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

2. Для вилучення архіву розділеного zip (серія файлів з назвою zip, z01, z02 ...) виконайте наступну команду в Терміналі:

По-перше, об’єднайте архів розбиття в один архів:

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

Витягніть єдиний архів за допомогою розпакування:

unzip unsplit-foo.zip

22
якщо ви розділили двійкові файли, наприклад file.zip.001, file.zip.002 ... вам може знадобитися просто комбінувати файли, наприклад, використовуючи catкоманду:cat file.zip.* > single.zip
Карл Адлер,

@abimelex ваш коментар допоміг вирішити мій точний сценарій!
Даніель Apt

Ти людина @abimelex !!!!! - Мені довелося використовувати p7zip, щоб витягнути їх через цю помилку:need PK compat. v5.1 (can do v4.5)
Брайан

Я радий допомогти. Оскільки у коментаря багато голосів, я додав його і як відповідь.
Карл Адлер

10

Просто catвсі поштові файли послідовно з одним файлом і на цьому використовувати unzipкоманду.

Наприклад:

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

unzip s.zip 

7

додатково до цієї відповіді, якщо ви розділили двійкові файли, наприклад file.zip.001, file.zip.002... вам може просто знадобитися комбінувати файли, наприклад, використовуючи команду cat:

cat file.zip.* > single.zip

3

Просто запустіть цю команду в підказці bash, щоб об'єднати блискавки.

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

вищенаведений приклад містить 5 частин.

Потім розпакуйте файл улюбленим методом

unzip uncut-version.zip

2

Тестовано на ОС 10.8.5 Mac

  • Використовуйте безкоштовну версію Stuffit Expander
  • Просто перетягніть останній файл (той, який має розширення .ZIP) у Stuffit
  • Почекайте деякий час, оскільки, здається, Stuffit спочатку створить повний файл
  • Перегляньте всі файли, які розпаковуються

2

У моєму випадку в ОС X 10.11.6 у мене був архів із багаторозмірними розширеннями

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

Використання

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

мені дістали жодну блискавку. Він не витягується з unzip, але робиться із 7zip, встановленим через MacPorts:

port install p7zip
7za x out.zip

1

Я потрапив у цю проблему, намагаючись знову зібрати великий каталог, завантажений з Google Диска.

Аналогічно цій проблемі , якщо ви маєте справу з набором zip-файлів, які не містять нумерованих розширень файлів (foo.z01, foo.z02 тощо) і є просто декількома поштовими файлами, які не слід архівувати разом в одному каталозі, наступне працювало для мене:

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

0

Це було найпростіше рішення, яке я міг знайти:

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

-1

Що для мене спрацювало дуже просто: відкрийте файл .z01 за допомогою безкоштовного додатка Mac Unarchiver (доступний у магазині додатків Mac). Це прекрасно справляється з видобутком.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.