我在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/