Я извлекаю файл .odt(открытый офис) и делаю с ним некоторые манипуляции. А потом, когда я хочу вернуть файл обратно, у меня возникает проблема.
например, если я вхожу в каталог с распакованным файлом odt, и я делаю что-то вроде этого:
cd /dir/with/uziped/odt
zip -r ../test.odt .
Все работает отлично. Я получил действительный файл открытого офиса, и я могу работать с ним.
Но затем я пробую zip из не корневой папки odt У меня поврежден файл odt, после этой команды:
zip -r test.odt /dir/with/uziped/odt
Так что это не сработает.
«/dir/with/uziped/odt» включает пару папок и XML-файлы
ОБНОВЛЕНИЕ:
Основная проблема заключается в том, что если я попытаюсь использовать архиватор, а не из корневого каталога, он берет все каталоги в пути с помощью команды:
7z a -tzip tt.odt temp/*
Выход будет:
Compressing temp/Configurations2/accelerator/current.xml
Compressing temp/META-INF/manifest.xml
Compressing temp/Thumbnails/thumbnail.png
Compressing temp/content.xml
Compressing temp/manifest.rdf
Compressing temp/meta.xml
Compressing temp/mimetype
Compressing temp/settings.xml
Compressing temp/styles.xml
но мне не нужно сжимать временную директорию. Мне нужно только добавить все файлы из этого каталога в новый архив, например так:
Compressing Configurations2/accelerator/current.xml
Compressing META-INF/manifest.xml
Compressing Thumbnails/thumbnail.png
Compressing content.xml
Compressing manifest.rdf
Compressing meta.xml
Compressing mimetype
Compressing settings.xml
Compressing styles.xml