#bash #terminal #zip #zsh #unzip
#bash #терминал #zip #zsh #распаковать
Вопрос:
Учитывая img.zip который содержит 13 копий одной и той же фотографии, мне нужно разделить zip-файл на части и иметь возможность разархивировать его из сгенерированных частей. Чтобы разделить его на равные части размером 100 КБ, я делаю:
zip img.zip --out img-pt -s 100k
что приводит к
100K img-pt.z01
100K img-pt.z02
100K img-pt.z03
40K img-pt.zip
Я могу извлекать из сгенерированных частей с помощью keka на macOS. Однако я не могу разархивировать с помощью unzip
, вот что я пытаюсь и получаю:
>>> unzip img-pt.zip
Archive: img-pt.zip
warning [img-pt.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): 66
file #3: bad zipfile offset (local header sig): 26614
file #4: bad zipfile offset (lseek): 49152
file #5: bad zipfile offset (lseek): 73728
file #6: bad zipfile offset (local header sig): 3858
file #7: bad zipfile offset (local header sig): 30406
file #8: bad zipfile offset (lseek): 49152
file #9: bad zipfile offset (lseek): 81920
file #10: bad zipfile offset (local header sig): 7650
file #11: bad zipfile offset (local header sig): 34198
file #12: bad zipfile offset (lseek): 57344
file #13: bad zipfile offset (lseek): 81920
extracting: img/002.jpeg
также
>>> cat img-pt.z01 img-pt.z02 img-pt.z03 img-pt.zip > img.zip
>>> unzip img.zip
Archive: img.zip
warning [img.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).
warning [img.zip]: 307200 extra bytes at beginning or within zipfile
(attempting to process anyway)
file #1: bad zipfile offset (local header sig): 307204
(attempting to re-compensate)
creating: img/
extracting: img/001.jpeg
extracting: img/007.jpeg
extracting: img/011.jpeg
extracting: img/010.jpeg
file #6: bad zipfile offset (local header sig): 3858
(attempting to re-compensate)
file #6: bad zipfile offset (local header sig): 3858
file #7: bad zipfile offset (local header sig): 337606
file #8: bad zipfile offset (lseek): 360448
file #9: bad zipfile offset (lseek): 385024
file #10: bad zipfile offset (local header sig): 314850
file #11: bad zipfile offset (local header sig): 341398
file #12: bad zipfile offset (lseek): 360448
file #13: bad zipfile offset (lseek): 393216
extracting: img/002.jpeg
Как извлечь файлы в терминале без получения ошибки? И желательно без объединения частей
Комментарии:
1. Программа сообщает вам ожидать ошибок и предупреждений, потому что вы делаете что-то, что она не полностью поддерживает…
2. И все же он поддерживает разделение на несколько частей, что я нахожу довольно странным
3. Смотрите первый абзац раздела об ОШИБКАХ на странице руководства
4. Похоже, мне нужно использовать
zip -F
объединенные части, пока они не исправят все, что не так, в следующем выпуске.