比较md5校验和的更简单方法?


11

下载具有md5校验和的文件后,我目前使用

md5 *file* | grep *given_checksum*

例如

md5 file.zip | grep -i B4460802B5853B7BB257FBF071EE4AE2

但是对于我来说,需要grep和管道来完成这确实是很常见的任务对我来说似乎很有趣。坚持做事高效的人,我想知道这样做有更好的方法吗?


那是什么样的工具md5?它来自哪个包装?
manatwork 2013年

在我真正提出这个问题并开始寻找答案之前,我没有意识到这有什么不同,但是我在OS X上使用bash,这是Apple自己的工具,没有-c选项。显然,他们停止了在10.5中捆绑md5sum ...现在,我已经安装了原始的unix md5sum工具。
Ben Griffiths

Answers:


20

md5sum有一个-c选项可以检查现有的一组和,并且其退出状态指示成功/失败。

例:

$ echo "ff9f75d4e7bda792fca1f30fc03a5303  package.deb" | md5sum -c -
package.deb: OK

在这里找到一个不错的资源


4
谢谢。只是为了完成,我现在使用的md5sum -c - <<<"b4460802b5853b7bb257fbf071ee4ae2 file_name.ext"似乎比涉及grep更干净!
Ben Griffiths

嗯,对原始$ md5 文件没有太大改进| grep named_checksum,如果要使用不区分大小写的字符串,则必须坚持使用grep -i
StandardNerd

我正在no properly formatted MD5 checksum lines found使用时得到提示,md5sum -c <file.md5> <file>但此命令对我有用。
Vishrant

1

通常的bash方式是:

shopt -s nocasematch
if [[ $(md5sum "$file") = 5d40f31729c992b5a0e67490689fe8ff* ]]


0

受到psusi答案的启发

echo "$(cut -f1 -d' ' your_file.jar.md5) your_file.jar" | md5sum -c -

我以前cut并不是所有的md5存储方式都相同。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.