背景(无需阅读)
我正在修改 MS office 文件以供工作(试图找出最快、最简单的方法来自动生成任意长度的 excel 和 powerpoint 文件)。由于实际的 excel 文件只是在文件名后附加了 .xlsx 的压缩档案,因此我一直在解压缩它们,编辑 xml,重新压缩它们,并查看 OpenOffice 是否仍然可以加载它们。
但是,我已经意识到(谢天谢地,在没有太多这样的测试之后)默认情况下,bash 中的“zip”命令(或者至少在我的 mac 上)正在以只需要 unzip v1 的格式压缩文件.0 进行提取,但普通的 excel 文件以需要 v2.0 提取的方式进行压缩。我通过压缩和解压缩我知道正常加载的 excel 文件,然后尝试加载它来检查这是一个问题。OpenOffice 很不高兴。
所以,我知道我需要完全按照 excel 的方式压缩文件,但我不确定如何做到这一点。我的电脑上有 zip 版本 3,所以希望如果 zip/unzip 发布周期是同步的,它应该是可能的,但我没有在手册页上看到任何立即似乎是解决方案的内容。
编辑:并且 zip -9 (其中 zip -h 有用地说指示 zip 'zip 更好')仍然只需要 v1.0 来提取。
问题:
如何在 bash 中指定我希望 zip 以需要 unzip v2.0 才能解压缩的方式压缩文件?