shell比较配置文件的正误

性能测试时,可能会将环境改来改去,每次测试时,配置文件不一样,可能会导致测试失败。

假设有一份正确的配置文件为zoo.cfg.template,测试环境的配置文件为zoo.cfg

那么如何对比以上两者,找出zoo.cfg中的配置错误呢

下述代码应该可以

#!/bin/bash
#by hzwuboxiao

cat $1 | while read line
do
    key=$(echo $line | sed -e 's/(.*)=(.*)/1/g')
    if [ -z "$key" ]; then continue
    fi
    value=$(echo $line | sed -e 's/(.*)=(.*)/2/g')
    value_correct=$(grep $key $2 | sed -e 's/(.*)=(.*)/2/g')
    if [ "$value"x != "$value_correct"x ];then
       echo $(grep $key $1;grep $key $2)
    fi
done

  

原文地址:https://www.cnblogs.com/boucher/p/5718927.html