整理文件比较的Shell脚本

问题

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

方案

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

脚本

md5sum例子,生成文件对应的md5码
[plain]  view plain copy
  1. $ls *.jar  
  2. weblogic.jar wlclient.jar  
  3. $ md5sum *.jar >> mymd5result.txt  
  4. $cat mymd5result.txt   
  5. c97f8d9aae6ed2c93b5bede83320944b weblogic.jar  
  6. 9cbc591f62173404c991d75b45f254b1 wlclient.jar  

比较 文件md5码
[plain]  view plain copy
  1. #!/bin/sh  
  2.   
  3.   
  4.   
  5.   
  6. usage()  
  7. {  
  8.         echo "usage:'test.sh file1 file2' compare file md5 code"  
  9. }  
  10.   
  11.   
  12. if [ $# -ne 2 ];  
  13. then  
  14.    usage  
  15.    exit 1  
  16. fi  
  17.   
  18.   
  19. cat $1 | while read myline  
  20. do  
  21.    e0=`echo $myline |awk '{print $1}'`  
  22.    e1=`echo $myline |awk '{print $2}'`  
  23.   
  24.   
  25.    count=`grep $e1 $2|wc -l`  
  26.   
  27.   
  28.    if [ $count -ne 1  ] ;  
  29.    then  
  30.         echo "$e1 more than one time in $2"  
  31.         exit 1  
  32.    fi  
  33.      
  34.    te1=`grep $e1 $2|awk '{print $2}' `  
  35.    te0=`grep $e1 $2|awk '{print $1}' `  
  36.    if [ "$e1"x = "$te1"x ];  
  37.    then     
  38.         if [ "$te0"x = "$e0"x ] ;    
  39.         then  
  40.            echo "file:"$e1" equals!"  
  41.         else      
  42.            echo "file:"$e1" not equals!"  
  43.         fi  
  44.           
  45.    else  
  46.         echo "file:"$e1" is not exist in $2"  
  47.    fi  
  48. done  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值