Як зашпаркувати папку у формат odt


1

Я витягаю .odt (відкритий офіс) файл і роблю на ньому деякі маніпуляції. І тоді, коли я хочу копіювати файл назад, у мене виникає проблема.

наприклад, якщо я входжу в каталог із розпакованим файлом odt і я роблю щось подібне:

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

Все працює чудово. У мене є дійсний файл відкритого офісу, і я можу з ним працювати.

Але потім я спробую zip з папки не root 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 

Відповіді:


0

Потокове введення та вихід блискавки

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.


всі команди, про які вже йдеться, os є linux
Денис

Мені це потрібно для сценарію python
Денис
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.