LINUX.ORG.RU

Ищу легкий способ запаковать ZIP-архив в ZIP-архив

 , , ,


0

1

На самом деле, это реальная рабочая задача: запаковать DOCX (который, как мы помним, есть солянка из XML внутри ZIP) в ZIP. Так просит заказчик. У него там бизнес-процессы и всё такое.

Использую консольную утилиту zip v 3.0. Если файлов 2 или больше, пусть даже все - в DOCX, она их послушно сжимает.

Но если файл один, утилита ругается: nothing to do! Создать каталог и положить DOCX в него - не помогает.

Сообразил такой костыль:

touch dummy
zip -j archive.zip dummy document.docx
zip archive.zip -d dummy

Может быть, кто-то знает более прямой путь, нежели городить очередную функцию в .bashrc? man zip читал.

Работают пайпы, но тогда файл в архиве получается безымянный. Решение формально корректное, но непрактичное.

★★★★

Ответ на: комментарий от greenman

Как выяснилось, если не указать название архива, zip будет ругаться на любой файл схожим образом: «Nothing to do!»

И это не зависит от того, паковать ли zip или не zip.

Специально позапаковывал zip в zip: всё работает.

Bagrov ★★★★ ()