码迷,mamicode.com
首页 > 系统相关 > 详细

linux命令--diff命令

时间:2015-10-04 09:58:43      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:

diff命令是用比较两个文件和文件夹,如果比较的是两个文件,则会逐行比较两个文件,如果比较的目录的时候,则diff会比较两个文件下相同名字的文件,列出不同的二进制文件,公共子目录及只在一个目录中出现的文件。

例子1 其中1c1表示第一行,c表示change,a表示add,d表示delete

$ diff test1 test2
1c1
< 123
---
> sdf
3c3
< 3432
---
> 231
5c5
< adfs
---
> sadf
7c7
< ewr
---


例子2 -y表示并排比较2个文件,后面也可以加上-W 表示指定栏宽。

“|”表示前后2个文件内容有不同

“<”表示后面文件比前面文件少了1行内容

“>”表示后面文件比前面文件多了1行内容

diff  test1 test2 -y
123							      |	sdf

3432							      |	231

adfs							      |	sadf

ewr							      |	2qwreqw

例子3 -c表示竖排比较2个文件

“+” 比较的文件的后者比前着多一行

“-” 比较的文件的后者比前着少一行

“!” 比较的文件两者有差别的行

diff  test1 test2 -c
*** test1	2015-09-07 00:05:39.000000000 +0800
--- test2	2015-09-07 00:05:54.000000000 +0800
***************
*** 1,7 ****
! 123

! 3432

! adfs

! ewr
--- 1,7 ----
! sdf

! 231

! sadf

! 2qwreqw

例子4 -u表示标准比较,---表示第一个文件,+++表示第二个文件,其中@@部分,表示第一个文件从1-7行开始,第二个文件从1-7行开始

diff  test1 test2 -u
--- test1	2015-09-07 00:05:39.000000000 +0800
+++ test2	2015-09-07 00:05:54.000000000 +0800
@@ -1,7 +1,7 @@
-123
+sdf

-3432
+231

-adfs
+sadf

-ewr
+2qwreqw

例子5 diff也可以用来比较2个文件夹

 diff test test3
Only in test3: .DS_Store
Only in test: test1
Only in test3: test2
Only in test3: test4

例子6 可以输出补丁文件

diff -ruN test1 test2 >testpatch.log

例子7 使用补丁文件

cat test1
123

3432

adfs

ewr
patch test1 testpatch.log
patching file test1
cat test1
sdf

231

sadf

2qwreqw

参考文档

http://www.cnblogs.com/peida/archive/2012/12/12/2814048.html


linux命令--diff命令

标签:

原文地址:http://my.oschina.net/zimingforever/blog/513403

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!