【发布时间】:2022-01-19 06:52:24
【问题描述】:
我有一个包含文件的目录,我需要根据 4GB 大小限制为这些文件创建单独的 ZIP 文件而不创建多部分 ZIP 存档。有人可以在这里帮助如何实现这一目标吗?
我知道将 -s 参数传递给 ZIP 命令 (zip -s 4096m zipfile.zip *.xml),但 htis 会创建一个我不需要的多部分 ZIP。
并且我需要根据 4GB 大小使用增量 ZIP 文件名拆分 ZIP 文件,例如 zip -s 4096 archive.zip *.xml。它应该在同一目录中创建 ZIP 文件,如 archive.zip、archive1.zip,大小为 4GB 拆分等,但不能创建多部分 ZP 文件,如 archive.zip、archive.z01 等。
【问题讨论】:
-
你必须提供更多细节:你想要什么样的结果文件?目标和目标是什么。
-
使用临时文件,您可以逐个文件添加文件,使用
tar --append -f tarballtest.tar "$file",而[[ $(zstd <tarballtest.tar | LANG=C wc -c) -lt 4000000000 ]],等等... -
我需要根据 4GB 大小使用增量 zip 文件名拆分 zip 文件,例如 zip -s 4096 archive.zip *.xml 应该将 zip 创建为 archive.zip,archive1。 zip 大小为 4gb 的拆分等在同一目录中,而不是像 archive.zip、archive.z01 等的多部分 zip。
-
好吧,我猜的差不多了。所以是的:您最好使用
tar | zstd,以提高速度和效率。请参阅我之前关于while循环的评论... -
想要在 cmets 中添加详细信息,请编辑您的问题!清楚地补充说,目标是能够 1. 索引您的档案文件和 2. 能够直接访问一个档案文件而无需重新构建整个档案。