shell文件对比

#!/bin/bash
#----判断给定的文件是否存在----

if [ -d $1 ] && [ -d $2 ];then
  echo -e "俩个文件夹都存在,开始对俩个文件夹进行比对."
else
  if [ -d $1 ];then
    echo "不存在文件夹:$2"
    exit
  else
    echo "不存在文件夹:$1"
    exit
  fi
fi


#----判断俩个文件中改动过的文件有哪些----

#判断俩个文件的文件和文件夹的个数
echo -e "\e[1;32m######查询每个文件总共有多少个文件和文件夹######\e[0m"
fnum1=`ls -Rl $1|grep -e "^-"|wc -l`
fnum2=`ls -Rl $2|grep -e "^-"|wc -l`
dnum1=`ls -Rl $1|grep -e "^d"|wc -l`
dnum2=`ls -Rl $2|grep -e "^d"|wc -l`

echo -e "$1:下总共有\e[1;31m$dnum1\e[0m个文件夹,\e[1;31m$fnum1\e[0m个文件."
echo -e "$2:下总共有\e[1;31m$dnum2\e[0m个文件夹,\e[1;31m$fnum2\e[0m个文件."

#判断$2中新增或者减少的文件夹和文件有哪些
echo -e "\e[1;32m######查看$2中新增或者减少的文件或文件夹########\e[0m"

only1=`diff -rq $1 $2|grep "^Only"|awk '{print $3,$4}'|grep -v "WEB\-INF"`
only2=`diff -rq $1 $2|grep "^Only"|awk '{print $3,$4}'|grep "WEB\-INF"`
echo -e "$only1"
echo -e "\e[1;31m$only2\e[0m"

#判断$2中改变的文件有哪些
echo -e "\e[1;32m############查看$2中改变的文件有哪些############\e[0m"
change1=`diff -rq $1 $2|grep "^File"|awk '{print $2,"------",$4}'|grep -v "WEB\-INF"`
change2=`diff -rq $1 $2|grep "^File"|awk '{print $2,"------",$4}'|grep "WEB\-INF"`
echo -e "$change1"
echo -e "\e[1;31m$change2\e[0m"

#查看版本号是否已经更改

echo -e "\e[1;32m######---------查看是否更改版本号---------######\e[0m"
cd $1
if [ -f version.html ];then
  version1=`cat version.html`
else
  echo -e "\e[1;31m$1没有版本号信息.\e[0m"
  exit
fi

cd $2
if [ -f version.html ];then
  version2=`cat version.html`
else
  echo -e "\e[1;31m$2没有版本号信息.\e[0m"
  exit
fi

if [ $version1 == $version2 ];then
  echo -e "\e[1;31m版本号未改动,$1和$2的版本号为$version1\e[0m"
else
  echo -e "\e[1;31;1m版本号已经改动过\e[0m,$1的版本号为\e[1;31;1m$version1\e[0m,$2的版本号为\e[1;31;1m$version2\e[0m."
fi