有没有自动下载和比较md5sums的工具?

eri*_*ork 8 download command-line md5

我想要但找不到的东西:

$ download -url http://download.com/me.zip -md5 http://download.com/me.md5
[================================================================>] 100%
md5check .... OK
$
Run Code Online (Sandbox Code Playgroud)

但我目前所掌握的知识是这样的:

$ wget http://download.com/me.zip
$ md5sum me.zip
12345....6789 me.zip
#use eyes for comparison
Run Code Online (Sandbox Code Playgroud)

有什么工具可以为我做到这一点吗?或者我需要为此编写一个shell脚本吗?

wux*_*dia 9

这应该工作得很好。

wget ftp://yourfile.zip && wget ftp://yourfile.zip.md5 && md5sum -c *.md5
Run Code Online (Sandbox Code Playgroud)

这是少打字;

wget ftp://yourfile{.zip,.zip.md5} && md5sum -c *.md5
Run Code Online (Sandbox Code Playgroud)

通配符在拥挤的下载文件夹中有点多,因此请根据您的需要进行调整。


slh*_*hck 2

除非我的 bash-fu 失败了,否则这应该可行。你只需要拥有wgetcurl。将其另存为download-compare.sh或类似的文件,然后运行chmod +x该文件。

\n\n

现在,运行如下:

\n\n
./download-compare http://example.com/file.tar.gz http://example.com/sum.md5\n
Run Code Online (Sandbox Code Playgroud)\n\n

md5这只适用于OS X 附带的BSD :

\n\n
#!/bin/bash\nwget "$1"\nchecksum=$(curl "$2")\nif [ "$checksum" == $(md5 -q $(basename "$1")) ]\nthen \n  echo "Checksum correct."\nelse\n  echo "Checksum false."\nfi\n
Run Code Online (Sandbox Code Playgroud)\n\n

交换if线路应该适用于 Linux \xe2\x80\x93\xc2\xa0 但我无法测试它:

\n\n
if [ "$checksum" == $(md5sum $(basename "$1") | cut -d \' \' -f 1) ]\n
Run Code Online (Sandbox Code Playgroud)\n