如何将文件夹压缩为 odt 格式

如何将文件夹压缩为 odt 格式

我提取了 .odt(Open Office)文件并对其进行了一些操作。然后当我想将文件压缩回来时,出现了问题。

例如,如果我进入包含解压后的 odt 文件的目录并执行以下操作:

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

一切正常。我获得了一个有效的 Open Office 文件,并且可以使用它。

但是当我尝试从非根 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 文件名,在这种情况下它会将 zip 文件写入标准输出,从而允许将输出通过管道传输到另一个程序。

例如,dd程序可以将标准输出写入另一个位置的文件。以下示例dd将标准输出写入位于用户 Denis 桌面上的名为 test.zip 的新文件(zip 存档)。

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

of后面输入dd的代表输出文件。 这.单破折号后面的表示当前目录。

将 zip 文件转换为 odt

由于 .odt 文件的结构类似于 .zip 文件,因此您可以通过将文件扩展名重命名为 .zip,然后从 zip 存档中提取文件来查看 .odt 文件的内容。如果您保留了原始 .odt 文件的目录结构,则可以在对 .zip 文件进行更改后,通过将文件的 .zip 扩展名重命名为 .odt,将 .zip 文件转换回 .odt 文件。

相关内容