利用awk 对比两个文件脚本

rm -f source.txt
rm -f target.txt
rm -f source.txt.sort
rm -f target.txt.sort
rm -f source.log
rm -f target.log
rm -f result.log


pwd=`pwd`

find $pwd/source -type f|xargs -i gawk -f ./source.awk {} >>$pwd/source.txt
find $pwd/target -type f|xargs -i gawk -f ./source.awk {} >>$pwd/target.txt

sort -t~ $pwd/source.txt >> $pwd/source.txt.sort
sort -t~ $pwd/target.txt >> $pwd/target.txt.sort

diff -H $pwd/source.txt.sort $pwd/target.txt.sort |awk '/^</{print $2}' >>$pwd/source.log
diff -H $pwd/source.txt.sort $pwd/target.txt.sort |awk '/^>/{print $2}'>>$pwd/target.log

#filenumber=`ls -1 $pwd/source/*|wc|awk '{print $1}'`
source_record=`wc $pwd/source.txt.sort|awk '{print $1}'`
target_record=`wc $pwd/target.txt.sort|awk '{print $1}'`
serr=`wc $pwd/source.log|awk '{print $1}'`
terr=`wc $pwd/target.log|awk '{print $1}'`

echo "source_record:"$source_record
echo "target_record:"$target_record
echo "source_err:"$serr 
echo "target_err:"$terr 
echo "file_num:"$filenumber


var1=`expr $source_record - $serr`
#echo "var1 ="$var1
var2=`echo "scale=6;$var1/$source_record"|bc`
#echo "var2="$var2
var4=`echo "$var2*100"|bc`
echo "right rate="$var4"%"
var3=`echo "scale=6;1-$var2"|bc`
var5=`echo "$var3*100"|bc`
echo "error rate="$var5"%"

echo "source_record :"$source_record >> result.log
echo "target_record:"$target_record >> result.log
echo "source_err:"$serr >> result.log
echo "target_err:"$terr>> result.log 
echo "file_num:"$filenumber >> result.log
echo "righ rate="$var4"%" >>result.log
echo "error rate="$var5"%" >>result.log

 

posted on 2014-04-22 10:06  weiguoyuan  阅读(675)  评论(0)    收藏  举报

导航