您的位置:首页 > 其它

diff和patch

2017-04-24 12:47 239 查看
一、diff和patch

diff命令是linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方,常用于svn和git中。diff会在命令行中打印每一个行的改动。diff程序的输出称为补丁(patch),patch命令可以根据diff的输出将a.c的内容更新为b.c的内容,或者是将b.c的内容还原成a.c的内容。

二、diff命令介绍

1、命令格式:diff option 文件1 文件2

常用option:

-b:不检查空格字符的不同

-B:不检查空行的不同

-c:显示全部内容,并标出不同之处

-i:不检查大小写的不同

-p:若比较文件是C语言文件时,显示差异所在的函数名称。

-q:仅显示有无差异,不显示详细信息

-u:以合并的方式显示文件内容的不同

-y:以并列的方式显示文件的异同之处

例1:



例2:



例3:



2、分屏显示文件差异:

命令:vimdiff 文件1 文件2

例:



三、patch命令介绍

diff A B > C //生成A和B的补丁文件

patch A C //给A打上补丁,使得A文件变成B文件

patch -R B C //让B还原成A文件

例:



四、文件合并工具paste

命令格式:paste option 文件…

option:

-s:一般在合并的时候是平行处理的,即合并完之后同一行的内容还在同一行。使用-s选项可以进行串列合并,即同一行的内容处于同一列。

-d:因为文件合并时默认是一列一列的合并,可以用-d指定列合并的分隔符。

例:



例2:使用串列合并



例3:将分隔符改成”#”

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: