33

Как мне распаковать сплит-файл?

В терминале я написал: 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

Что я могу сделать?

9 ответов9

45

Это было прямое и единственное решение, которое работало для меня на 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
9

Просто cat все zip-файлы в один файл и используйте для этого команду unzip .

Например:

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

unzip s.zip 
5

в дополнение к этому ответу, если у вас есть разделенные двоичные файлы, такие как 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

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

0

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .