You need to enable JavaScript to run this app. 如何不解压zip压缩包即可获取包内所有文件的md5sum值
优惠活动
大模型
产品
解决方案
定价
更多

如何不解压zip压缩包即可获取包内所有文件的md5sum值

无需解压ZIP包获取内部文件MD5值的方法

单文件MD5计算

直接使用unzip自带的-p参数即可实现,无需在磁盘生成解压后的实体文件:

unzip -p 目标压缩包.zip 包内文件完整路径 | md5sum

参数说明:-p作用是将指定包内文件的内容直接输出到标准输出流,仅在内存完成数据读取,不会执行磁盘写入的解压操作

批量获取全部文件的MD5值

可以结合文件列表遍历实现批量计算:

  • 先通过unzip -Z1 目标压缩包.zip获取压缩包内所有文件的路径列表,该命令仅输出纯文件路径,无冗余信息
  • 遍历列表逐一生成MD5,可直接使用如下Shell脚本:
# 替换为你的压缩包实际路径
ZIP_FILE="example.zip"

unzip -Z1 "$ZIP_FILE" | while read -r INNER_FILE; do
    # 计算单个文件MD5并过滤掉md5sum输出的后缀符号
    FILE_MD5=$(unzip -p "$ZIP_FILE" "$INNER_FILE" | md5sum | awk '{print $1}')
    echo "$FILE_MD5  $INNER_FILE"
done

其他可选方案

如果本地安装了7z工具,也可以用7z的标准输出参数实现相同效果:

# 单文件计算
7z x -so 目标压缩包.zip 包内文件完整路径 | md5sum

注意:以上所有方案均是将文件内容读取到内存中计算哈希,不会在磁盘生成解压后的文件,完全符合不执行实际解压操作的需求,适合大体积压缩包或者磁盘空间不足的场景使用。

内容的提问来源于stack exchange,提问作者arunkumar A

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 05:57:03