Как разархивировать сплит файлы на 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

Вы пробовали другие инструменты для сжатия? Я запускаю uncompress и gunzip для файла и проверяю, был ли обработан один из них.
Уиллерш

Нет проблем распаковать несколько архивов с помощью 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 ваш комментарий помог решить мой точный сценарий!
Даниэль Апт

Ты мужчина @abimelex !!!!! - Я должен использовать p7zip , чтобы извлечь их из - за этой ошибки:need PK compat. v5.1 (can do v4.5)
Bryan

Я рад помочь. Так как в комментарии много голосов, я также добавил его в качестве ответа.
Карл Адлер

10

Просто catвсе zip-файлы последовательно в один файл и используйте 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

Протестировано на Mac OS 10.8.5

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

2

В моем случае в OS 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 и т. Д.) И представляют собой просто несколько zip-файлов, которые должны быть разархивированы вместе в одном каталоге, у меня сработало следующее:

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

0

Это было самое простое решение, которое я мог найти:

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

-1

То, что сработало для меня, очень просто: откройте файл .z01 с помощью бесплатного приложения для Mac The Unarchiver (доступно в Mac App Store). Хорошо справляется с извлечением.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.