linux命令之diff

diff命令用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方。diff在命令行中打印每一个行的改动。最新版本的diff还支持二进制文件。diff程序的输出被称为补丁 (patch),因为Linux系统中还有一个patch程序,可以根据diff的输出将a.c的文件内容更新为b.c。diff是svn、cvs、git等版本控制工具不可或缺的一部分。

1.比较两个文件

root@localhost test3]# diff log2014.log log2013.log 
3c3
< 2014-03
---
> 2013-03
8c8
< 2013-07
---
> 2013-08
11,12d10
< 2013-11
< 2013-12

diff 的normal 显示格式有三种提示:

a - add

c - change

d - delete

2.统一格式输出:

root@localhost test3]# diff log2014.log log2013.log  -u

--- log2014.log 2012-12-07 18:01:54.000000000 +0800

+++ log2013.log 2012-12-07 16:36:26.000000000 +0800

@@ -1,12 +1,10 @@

 2013-01
 2013-02
-2014-03
+2013-03
 2013-04
 2013-05
 2013-06
 2013-07
 -2013-07
+2013-08
 2013-09
 2013-10
-2013-11
-2013-12

说明:

它的第一部分,也是文件的基本信息:

- - - log2014.log 2012-12-07 18:01:54.000000000 +0800

+++ log2013.log 2012-12-07 16:36:26.000000000 +0800

“- - -“表示变动前的文件,”+++”表示变动后的文件。

第二部分,变动的位置用两个@作为起首和结束。

   @@ -1,12 +1,10 @@

前面的”-1,12”分成三个部分:减号表示第一个文件(即log2014.log),”1”表示第1行,”12”表示连续12行。合在一起,就表示下面是第一个文件从第1行开始的连续12行。同样的,”+1,10”表示变动后,成为第二个文件从第1行开始的连续10行。

3.比较两个文件夹的不同

diff 文件夹1 文件夹2

4.比较两个文件的不同并产生补丁:(将文件差异写入patch.log. 存在当前文件夹下)

diff -ruN before.scala after.scala >patch.log

5.打补丁:将补丁文件导入某文件中

patch log2013.log patch.log   //将pacth.log 写入到log2013.log中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值