#!/bin/bash
md5_fail_count=0
sha256_fail_count=0
echo "文件名\tMD5校验和\tSHA256校验和"
for file in $(find . -type f -name "*.txt"); do
md5sum_result=$(md5sum "$file" 2>/dev/null)
if [ $? -ne 0 ]; then
md5sum_result="计算失败"
((md5_fail_count++))
else
md5sum_result=$(echo "$md5sum_result" | awk '{print $1}')
fi
sha256sum_result=$(sha256sum "$file" 2>/dev/null)
if [ $? -ne 0 ]; then
sha256sum_result="计算失败"
((sha256_fail_count++))
else
sha256sum_result=$(echo "$sha256sum_result" | awk '{print $1}')
fi
file_name=$(basename "$file")
echo "$file_name\t$md5sum_result\t$sha256sum_result"
done
echo -e "\nMD5校验和计算失败的文件数量: $md5_fail_count"
echo "SHA256校验和计算失败的文件数量: $sha256_fail_count"