我在Windows(使用cygwin)和Linux机器上都这样做:

find DWH-R1.4.3/ -type f -print0 | sort -z | xargs -r0 md5sum | md5sum


为了获得一致的md5sum以进行软件交付。但是我在每台机器上得到不同的md5sums。

我以为可能是因为换行符所致,但是由于我将整个目录作为zip文件二进制文件进行了传输,因此情况似乎并非如此。我什至在第一个md5sum之后尝试了dos2unix,它没有改变总和。
有什么想法可以在这种情况下一致使用md5sum吗?

谢谢并恭祝安康

克里斯

最佳答案

好的,我现在进行了整理:Linux和Windows(cygwin)的排序版本有所不同:“。”在linux版本上的字母之前(如果我们看一下ASCII表,那恕我直言是错误的)。我通过不使用文件名解决了它,无论如何我只对md5sum感兴趣:

find DWH-R1.4.3/ -type f -print0 | xargs -r0 md5sum | awk '{ print $1 }' | sort | md5sum


似乎效果很好:-)

顺便说一句:我在两个上都使用了相同的LOCALE设置。

关于linux - 递归md5sum在Windows和Linux上有所不同,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32451906/

10-15 06:33