通过Linux Diff命令判断两个源代码是否相同
来源:互联网 发布:java log4j xml配置 编辑:程序博客网 时间:2024/06/06 00:53
看到这个博客标题,可能很多朋友会觉得太简单了,不就直接使用Diff就行了吗?但是对于如Java源代码的比较,有一些额外需要考虑的因素:多余的空行不能算差别、Java源代码中的注释也不能算差别。下面举两个例子来说明这种需求:
test//command/*1*11
以及:
test//command2/*2*21
按照上面总结的需求,这两段文本应该被认为是相同的。怎么样达到这种需求呢,简单看一下Diff命令的详解,其实网上这样的总结已经很多了,如:
http://blog.chinaunix.net/uid-25324849-id-270254.html
http://man.linuxde.net/diff
按照这些教程里的介绍,要忽略空行,可以加:-B 参数,要忽略上面的几种注释情况,可以用正则表达式,按照上面的教程,可以用:
-I RE 或 --ignore-matching-lines=RE (其中RE表示正则表达式)
这种形式来忽略正则表达式匹配到的行,匹配上面几种注释情况的正则表达式为:
^(//|*|/*)这是在不考虑转义字符的情况下,考虑到正则表达式的转义字符规则,如:
http://blog.csdn.net/xiaobaismiley/article/details/40428419
增加转义字符后的diff命令可以写成如下所示:
看起来稍微有点复杂,但实际上很简单,就记录到这里。
ps:另外使用diff参数的时候,应该特别注意一点:参数是区分大小写的。
阅读全文
0 0
- 通过Linux Diff命令判断两个源代码是否相同
- 判断两个日期是否相同
- 判断两个图片是否相同
- 判断两个View是否相同
- 判断两个字符串是否相同
- VB如何判断两个文件是否相同
- android上下文 判断两个context是否相同
- python判断两个文件是否相同
- 判断两个二叉树是否结构相同
- 判断两个二叉树是否相同
- Java--判断两个文件是否相同
- 判断两个二叉树是否相同
- Java判断两个二叉树是否相同
- 算法 - 判断两个二叉树是否相同
- [Swift]判断两个二叉树是否相同
- 判断两个单链表是否有相同节点
- 判断两个字符串重排后是否相同
- 判断两个数组是否有相同元素
- 蓝桥杯训练:广搜——电梯遇女神
- c# opc 采集
- 【转】Gson简要使用笔记
- java 坐标练习
- adb.exe 已停止工作 解决
- 通过Linux Diff命令判断两个源代码是否相同
- Oracle中的 UPDATE FROM 解决方法
- 蓝桥杯 BASIC-4 基础练习 数列特征
- yii2 activeform怎么设置只读及session调用
- Spring 4 官方文档学习(②)Web MVC 框架之编码式Servlet容器初始化
- JS的十大经典算法排序
- Android Usb的研究
- 2017.06.02.最佳健康革^-*命(THE OPTIMAL HEALTH REVOLUTION).杜克 约翰逊博士
- [YTU]_2865( 结构体--日期计算)