如何根据另一个zip的内容创建子zip?

时间:2015-09-21 13:54:36

标签: linux bash zip

我想创建一个只包含基于另一个zip文件的子集的zip。有没有更聪明的方法来做到这一点,而不仅仅是提取特定文件,然后以新名称重新压缩它们?

我正在寻找一种有效的方法,因为原始文件将包含成千上万的文件,并且大小约为30 GB。

1 个答案:

答案 0 :(得分:1)

删除其他内容,例如:

  zip --delete file.zip junk/*

第二个选项是列出

的zip文件
 zipinfo -1 file.zip >list.files

并编辑临时文件列表以包含。那你

 unzip file.zip $(cat list.files)

并创建新的zip文件。当然,同一个文件可用于zip --delete的排除。或者您也可以使用其动态文件列表与grep结合使用。

同时检查https://bitbucket.org/agalanin/fuse-zip