linux命令--diff命令

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


转载于:https://my.oschina.net/zimingforever/blog/513403

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值