我有两个文件hello.txt和hello.txt.md5
MD5输出的格式如下
cat hello.txt.md5
b1946ac92492d2347c6235b4d2611184我编写了一个简单的脚本来验证md5sum。
csum=$(cat hello.txt.md5)
echo "$csum hello.txt" | md5sum -c此脚本在Ubuntu 13.10中运行良好,但在Ubuntu 12.04中抛出的错误低于错误。
md5sum:标准输入:没有找到格式正确的MD5校验和行
有人能告诉我如何在Ubuntu12.04中做到这一点吗?
发布于 2015-06-26 07:08:05
至少在我生成的md5sum文件中,校验和与文件名之间有两个空格。测试了您的脚本,但是它没有工作,在$csum和hello.txt之间增加了空间,而它做到了。
发布于 2015-06-26 07:10:52
原因可能是md5sum版本之间的一些变化。
对这两个版本执行md5sum <file1> <file2>应该会给出每个版本所期望的格式的示例。
具体来说,手册页说:
默认模式是打印带有校验和的行、指示类型的字符(二进制的“*”、文本的“”)以及每个文件的名称。
因此,为了在文本模式中签入,通常需要有两个空格(实际上,使用md5sum -t t.txt进行检查就可以确认这一点)。我想新版本取消了这一要求。
事实上,下面是一个GNU核心程序提交的标题是"md5sum: handle反向格式校验和“,日期为2011-09-16.它使md5sum在两种格式之间进行猜测。
提交为coreutils 8.14,而Ubuntu12.04为8.13。
https://stackoverflow.com/questions/31066714
复制相似问题