我在工作中得到了一个简单的MD5SUM脚本。除了显示进度的部分(已经计算给用户的文件的百分比)之外,它几乎完成了。我正在考虑使用带有虚拟变量的while循环来检查是否已经计算了MD5。唯一的问题是md5sum(在linux上)没有返回任何类型的反馈,除非计算出实际的md5sum。因此,很难向用户显示已处理了多少文件。这是脚本的副本。
#!/bin/bash
#MD5 verification tool
#1st argument is file name of .iso, and the 2nd argument is the the MD5 hexsum.
echo Checking file $1 .....
#calc md5 for file
SUM=`md5sum $1`
#insert while loop here?
#compare values
test $SUM = $2 && echo original || echo False
#8cd98b693ce542b671edecaed48ab06d8c
# GNOME-64.iso
exit 0
答案 0 :(得分:11)
使用pv
,可安装在所有主要发行版上。 SUM=$(pv "$1" | md5sum)
将显示一个非常好的进度条,包含吞吐量和所有内容,例如:
bash> pv /media/secondary/backups/2013_01_12/* | md5sum
10.2GB 0:01:32 [ 115MB/s] [====> ] 19% ETA 0:06:21