Files
REPO_TEST/script/03_package_hash/compare_file_hash.sh
2025-07-23 20:41:13 +08:00

31 lines
1.1 KiB
Bash

#!/bin/bash
# 定义要处理的文件夹路径
for rpm_file in $(find . -type f -name '*.rpm'); do
# 去除 ./ 前缀
clean_rpm_file="${rpm_file#./}"
# 检查文件是否存在
if [ -f "$clean_rpm_file" ]; then
# 执行 rpm 命令获取 MD5 值
rpm_md5=$(rpm -qp --queryformat '%{SIGMD5}\n' "$clean_rpm_file" 2>&1 | awk '/^[0-9a-fA-F]{32}$/ {print $0}')
echo $rpm_md5
# 执行 koji 命令获取 MD5 值
koji_md5=$(koji rpminfo "$clean_rpm_file" | grep 'SIGMD5:' | awk '{print $2}')
echo $koji_md5
# 比较两个 MD5 值
if [ "$rpm_md5" = "$koji_md5" ]; then
echo "File: $clean_rpm_file" >> equal.txt
echo "rpm MD5: $rpm_md5" >> equal.txt
echo "koji MD5: $koji_md5" >> equal.txt
echo "------------------------" >> equal.txt
else
echo "File: $clean_rpm_file" >> noquual.txt
echo "rpm MD5: $rpm_md5" >> noquual.txt
echo "koji MD5: $koji_md5" >> noquual.txt
echo "------------------------" >> noquual.txt
fi
fi
done