整理文件比较的Shell脚本

来源:互联网 发布:建立数据透视表 编辑:程序博客网 时间:2024/05/22 14:35

问题

如何对不同环境生成的文件进行比较?

方案

通过对文件进行消息摘要计算,例如MD5,SHA-1,通过比较摘要来判断文件的一致性

脚本

md5sum例子,生成文件对应的md5码
$ls *.jarweblogic.jar wlclient.jar$ md5sum *.jar >> mymd5result.txt$cat mymd5result.txt c97f8d9aae6ed2c93b5bede83320944b weblogic.jar9cbc591f62173404c991d75b45f254b1 wlclient.jar

比较文件md5码
#!/bin/shusage(){        echo "usage:'test.sh file1 file2' compare file md5 code"}if [ $# -ne 2 ];then   usage   exit 1ficat $1 | while read mylinedo   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"   fidone