Как zip папку в формат odt

я извлекаю .odt (open office) файл и сделать некоторые манипуляции на нем. И тогда, когда я хочу, чтобы zip файл обратно у меня есть проблема.

например, если я вхожу в каталог с распакованным файлом odt и делаю что-то вроде этого:

cd /dir/with/uziped/odt
zip -r ../test.odt .

все работает нормально. У меня есть действующий файл Open office, и я могу с ним работать.

но потом я пытаюсь zip из не корневой папки odt у меня поврежден odt файл, после этой команды:

zip -r test.odt /dir/with/uziped/odt

так, это не работа.

"/реж/с/uziped/рассасывания" включает в себя несколько папок и .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 
11
задан karel
19.05.2023 17:13 Количество просмотров материала 3518
Распечатать страницу

1 ответ

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

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

например dd программа может записать стандартный вывод в файл в другом месте. В следующем примере dd пишет в стандартный вывод в новый файл с именем test.zip (zip архив) расположен на компьютере пользователя Denis's настольный.

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

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

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

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

0
отвечен karel 2023-05-21 01:01

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх