问题
如何对不同环境生成的文件进行比较?
方案
通过对文件进行消息摘要计算,例如MD5,SHA-1,通过比较摘要来判断文件的一致性
脚本
md5sum例子,生成文件对应的md5码
比较
文件md5码
- $ls *.jar
- weblogic.jar wlclient.jar
- $ md5sum *.jar >> mymd5result.txt
- $cat mymd5result.txt
- c97f8d9aae6ed2c93b5bede83320944b weblogic.jar
- 9cbc591f62173404c991d75b45f254b1 wlclient.jar
- #!/bin/sh
- usage()
- {
- echo "usage:'test.sh file1 file2' compare file md5 code"
- }
- if [ $# -ne 2 ];
- then
- usage
- exit 1
- fi
- cat $1 | while read myline
- do
- e0=`echo $myline |awk '{print $1}'`
- e1=`echo $myline |awk '{print $2}'`
- count=`grep $e1 $2|wc -l`
- if [ $count -ne 1 ] ;
- then
- echo "$e1 more than one time in $2"
- exit 1
- fi
- te1=`grep $e1 $2|awk '{print $2}' `
- te0=`grep $e1 $2|awk '{print $1}' `
- if [ "$e1"x = "$te1"x ];
- then
- if [ "$te0"x = "$e0"x ] ;
- then
- echo "file:"$e1" equals!"
- else
- echo "file:"$e1" not equals!"
- fi
- else
- echo "file:"$e1" is not exist in $2"
- fi
- done