Как заархивировать папку в формат odt

Я извлекаю файл.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 

1 ответ

Потоковый ввод и вывод zip

почтовый индекс также примет одну черту - в качестве имени zip-файла, в этом случае он запишет zip-файл в стандартный вывод, что позволяет передать вывод в другую программу.

Например, dd Программа может записать стандартный вывод в файл в другом месте. В следующем примере dd записывает стандартный вывод в новый файл с именем test.zip (zip-архив), расположенный на рабочем столе пользователя Дениса.

cd /dir/with/uzipped/odt
zip -r - . | dd of=/home/Denis/Desktop/test.zip  

of набирается после dd обозначает выходной файл. . после одной черты обозначается текущий каталог.

Преобразование zip-файла в odt

Поскольку файл.odt структурирован как файл.zip, вы можете просмотреть содержимое файла.odt, переименовав расширение файла в.zip и затем извлекая файлы из архива zip. Если вы сохранили структуру каталогов исходного файла.odt, вы можете преобразовать файл.zip обратно в файл.odt после внесения в него изменений, переименовав расширение файла.zip обратно в.odt.

Другие вопросы по тегам