您所在的位置:PHP培训学院 > php开发工具 > >文件比较工具diff使用小结

文件比较工具diff使用小结

2017-12-29 17:48:27 来源: 浏览次数:

diff是Unix系统的一个很重要的工具程序。它用来比较两个文本文件的差异,是代码版本管理的基石之一。

diff使用格式

(1)比较文件

  1. [plain]
  2. diff filename_1 filename_2   

(2)比较目录

  1. [plain] 
  2. diff dir_1 dir_2   

diff命令常用的选项:

-b —— 忽略一行中的空字符的区别(例如“Hello World!!” 与 “Hello World!!”认为是一样的)

-B —— 忽略空白行

-i —— 忽略大小写的不同

-r —— 如果diff后面接的目录时,会递归比较子目录中的文件不同

diff比较输出的内容形式

diff输出内容有三种格式:

  1. [plain] 
  2. (1)正常格式(normal diff)   
  3. (2)上下文格式(context diff)   
  4. (3)合并格式(unified diff)   

下面来举例说明各个格式的形式,假设有两个文件f1和f2:

文件比较工具diff使用小结

第一个文件叫做f1,内容是每行一个a,一共7行。

  1. [plain]
  2.  
  3. a   
  4. a   
  5. a   
  6. a   
  7. a   
  8. a   
  9. a   

第二个文件叫做f2,修改f1而成,第4行变成b,其他不变。

  1. [plain]  
  2.  
  3. a   
  4. a   
  5. a   
  6. b   
  7. a   
  8. a   
  9. a   

(1)正常格式

现在对f1和f2进行比较:

  1. [plain]  
  2.  
  3. diff f1 f2   

这时,diff就会显示正常格式的结果:

  1. 4c4   
  2. < a   
  3. ---   
  4. > b   

输出解释:

第一行是一个提示,用来说明变动位置。它分成三个部分:前面的"4",表示f1的第4行有变化;中间的"c"表示变动的模式是内容改变(change),其他模式还有"增加"(a,代表addition)和"删除"(d,代表deletion);后面的"4",表示变动后变成f2的第4行。

第二行分成两个部分。前面的小于号,表示要从f1当中去取该行的内容(也就是第4行),后面的"a"表示该行的内容。

第三行用来分割f1和f2。

第四行,类似于第二行。前面的大于号表示f2去取该行的内容,后面的"b"表示该行的内容。

(2)上下文格式

上个世纪80年代初,加州大学伯克利分校推出BSD版本的Unix时,觉得diff的显示结果太简单,最好加入上下文,便于了解发生的变动。因此,推出了上下文格式的diff。

它的使用方法是加入c参数(代表context)。

  1. diff -c f1 f2  

显示结果如下:

  1. *** f1  2012-08-29 16:45:41.000000000 +0800   
  2. --- f2  2012-08-29 16:45:51.000000000 +0800   
  3. ***************   
  4. *** 1,7 ****   
  5.  a   
  6.  a   
  7.  a   
  8. !a   
  9.  a   
  10.  a   
  11.  a   
  12. --- 1,7 ----   
  13.  a   
  14.  a   
  15.  a   
  16. !b   
  17.  a   
  18.  a   
  19.  a   

[免责声明]本文来源于网络转载,仅供学习交流使用,不构成商业目的。版权归原作者所有,如涉及作品内容、版权和其它问题请在30日内与本网联系,我们将在第一时进行处理

优就业官方微信

扫描二维码,即可与小
U亲密互动

优就业官方微博

扫码关注,更有精彩活动
等你参与

优就业官方QQ号

一键加好友

咨询电话:(9:00-22:00)

400-650-7353

优就业PHP培训学院(php.ujiuye.com)-中公优就业旗下PHP研究中心,是PHP培训机构,致力于培养系统实战型PHP精英人才。关注PHP技巧与PHP开发视野。优就业PHP培训学院-更好的PHP培训机构。

 
 
咨询中心
优就业微信扫一扫
微信扫一扫

400-650-7353

加入官方微博