我想创建一个只包含基于另一个zip文件的子集的zip。有没有更聪明的方法来做到这一点,而不仅仅是提取特定文件,然后以新名称重新压缩它们?
我正在寻找一种有效的方法,因为原始文件将包含成千上万的文件,并且大小约为30 GB。
答案 0 :(得分:1)
删除其他内容,例如:
zip --delete file.zip junk/*
第二个选项是列出
的zip文件 zipinfo -1 file.zip >list.files
并编辑临时文件列表以包含。那你
unzip file.zip $(cat list.files)
并创建新的zip文件。当然,同一个文件可用于zip --delete
的排除。或者您也可以使用其动态文件列表与grep
结合使用。