shell -两个类似目录有哪些不一样呢?

两个类似目录有哪些不一样呢?

使用场景

  • 网站程序如zrlog, 使用maven编译,编译出来不能用,其实跟下载的war包是非常接近的,但是有哪些区别呢?
  • 使用shell来辨别一下
  • 辨别出来不代表能解决,只是了解一下
#! /bin/bash
read -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$o
	if [ ! -r $n$o ]     #看文件在另外一个目录是否存在;
	  then
		echo "$o doesn't in $n"
		continue
	fi
	x_1=`md5sum $i |awk '{print $1}'`    #计算文件的区别码,自己搜索这个命令的用法;
	x_2=`md5sum $n$o |awk '{print $1}'`
	#echo $x_1
        #echo $x_2
	if [ $x_1 != $x_2 ]   #如果两个码不相等,就使用diff对比,二进制文件只能看到有区别,不知道区别在哪里;
	  then
		#echo $x_1
		#echo $x_2
		echo "$o"   #对比的文件;
		diff $i $n$o   #对结果输出;
	  #else
	#	echo $o is same in two dir.
	fi 
  done
  • 输出结果
<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
发布了125 篇原创文章 · 获赞 5 · 访问量 4596

猜你喜欢

转载自blog.csdn.net/tanyyinyu/article/details/104000972