#! /bin/bashread -p "please input dir1 in long:" m #输入目录;read -p "please input dir2 in long:" n #对比目录;for i in`find $m -type f`#查找出所有文件;do#echo $i
o=`echo"$i"|awk -F "$m"'{print $2}'`#find搜索出来的所有文件都带有原目录路径,使用原路径把后面那一段切出来;#echo $o#echo $n$oif[! -r $n$o]#看文件在另外一个目录是否存在;thenecho"$o doesn't in $n"continuefi
x_1=`md5sum $i |awk'{print $1}'`#计算文件的区别码,自己搜索这个命令的用法;
x_2=`md5sum $n$o |awk'{print $1}'`#echo $x_1#echo $x_2if[$x_1!=$x_2]#如果两个码不相等,就使用diff对比,二进制文件只能看到有区别,不知道区别在哪里;then#echo $x_1#echo $x_2echo"$o"#对比的文件;diff$i$n$o#对结果输出;#else# echo $o is same in two dir.fidone
输出结果
<root@linux1 ~>$ bash diff.sh
please input dir1 in long:/usr/local/tomcat/webapps/ROOTwarxiazai #目录输入的方式;
please input dir2 in long:/usr/local/tomcat/webapps/zrlog-2.1.8-SNAPSHOT
/META-INF/MANIFEST.MF #不一样的文件;下面是内容对比;
4,5c4,5
< Created-By: Apache Maven 3.5.0
< Build-Jdk: 1.8.0_191
---
> Created-By: Apache Maven 3.6.3
> Build-Jdk: 1.8.0_101
/META-INF/maven/com.zrlog/web/pom.xml
8c8
<<version>2.1.7</version>
---
><version>2.1.8-SNAPSHOT</version>
/META-INF/maven/com.zrlog/web/pom.properties #不一样的文件;
2,3c2,3
<#Wed Jan 01 12:53:39 CST 2020< version=2.1.7
---
>#Wed Jan 15 23:19:29 CST 2020> version=2.1.8-SNAPSHOT
/WEB-INF/classes/com/zrlog/web/interceptor/AdminInterceptor.class #对比的二进制文件;
Binary files /usr/local/tomcat/webapps/ROOTwarxiazai/WEB-INF/classes/com/zrlog/web/interceptor/AdminInterceptor.class and /usr/local/tomcat/webapps/zrlog-2.1.8-SNAPSHOT/WEB-INF/classes/com/zrlog/web/interceptor/AdminInterceptor.class differ #显示differ;
/WEB-INF/classes/com/zrlog/web/handler/GlobalResourceHandler.class
Binary files /usr/local/tomcat/webapps/ROOTwarxiazai/WEB-INF/classes/com/zrlog/web/handler/GlobalResourceHandler.class and /usr/local/tomcat/webapps/zrlog-2.1.8-SNAPSHOT/WEB-INF/classes/com/zrlog/web/handler/GlobalResourceHandler.class differ
/WEB-INF/classes/com/zrlog/web/handler/PluginHandler.class
Binary files /usr/local/tomcat/webapps/ROOTwarxiazai/WEB-INF/classes/com/zrlog/web/handler/PluginHandler.class and /usr/local/tomcat/webapps/zrlog-2.1.8-SNAPSHOT/WEB-INF/classes/com/zrlog/web/handler/PluginHandler.class differ
/WEB-INF/classes/com/zrlog/web/plugin/WarUpdateVersionThread.class
Binary files /usr/local/tomcat/webapps/ROOTwarxiazai/WEB-INF/classes/com/zrlog/web/plugin/WarUpdateVersionThread.class and /usr/local/tomcat/webapps/zrlog-2.1.8-SNAPSHOT/WEB-INF/classes/com/zrlog/web/plugin/WarUpdateVersionThread.class differ
/WEB-INF/classes/com/zrlog/web/plugin/RequestStatisticsPlugin.class
Binary files /usr/local/tomcat/webapps/ROOTwarxiazai/WEB-INF/classes/com/zrlog/web/plugin/RequestStatisticsPlugin.class and /usr/local/tomcat/webapps/zrlog-2.1.8-SNAPSHOT/WEB-INF/classes/com/zrlog/web/plugin/RequestStatisticsPlugin.class differ
/WEB-INF/classes/com/zrlog/web/config/ZrLogConfig.class
Binary files /usr/local/tomcat/webapps/ROOTwarxiazai/WEB-INF/classes/com/zrlog/web/config/ZrLogConfig.class and /usr/local/tomcat/webapps/zrlog-2.1.8-SNAPSHOT/WEB-INF/classes/com/zrlog/web/config/ZrLogConfig.class differ
- end
- end
- end
/WEB-INF/lib/service-2.1.7.jar doesn't in /usr/local/tomcat/webapps/zrlog-2.1.8-SNAPSHOT #这几个文件不存在;事实上目录2是有类似文件,命名方式不一样;可以把两个目录反过来输入,就知道目录1缺失的文件;
/WEB-INF/lib/data-2.1.7.jar doesn't in /usr/local/tomcat/webapps/zrlog-2.1.8-SNAPSHOT
/WEB-INF/lib/common-2.1.7.jar doesn't in /usr/local/tomcat/webapps/zrlog-2.1.8-SNAPSHOT
- end
- end
- end