![无需解压即可检测 zip 文件的内容](https://linux22.com/image/1317403/%E6%97%A0%E9%9C%80%E8%A7%A3%E5%8E%8B%E5%8D%B3%E5%8F%AF%E6%A3%80%E6%B5%8B%20zip%20%E6%96%87%E4%BB%B6%E7%9A%84%E5%86%85%E5%AE%B9.png)
我正在尝试检查大量的 zip 文件以确保它包含正确的目录。我所做的是循环所有 zip 文件,然后解unzip
压缩并逐个检查。但是出现了 CPU 和耗时问题。我相信如果不解压缩的话情况会更好。那么还有其他更有效的解决方案吗?
答案1
不要进行实际的解压,只需列出 zip 文件上的内容即可。不确定您使用的是哪个解压二进制文件,但unzip 的手册页有列表选项:
unzip -l
来自zip 文件格式规范看起来它可以直接跳到下一个条目而不进行任何解压缩。
答案2
您可以使用邮编信息列出 zip 文件内容而不提取/解压缩其数据。
答案3
如果这些技巧不起作用,请解压/dev/null
并将标准输出重定向到文件。这不会为您节省 CPU 工作,但可以为您节省与实际写出所有文件相关的磁盘 I/O。重定向的标准输出仍将列出解压后的文件名。