博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Linux常用工具】1.1 diff命令的三种格式
阅读量:4940 次
发布时间:2019-06-11

本文共 2817 字,大约阅读时间需要 9 分钟。

diff是用来比较两个文本文件的差异的工具,它有三种格式,下面用实例介绍一下:

准备三个测试文件1.txt 2.txt 3.txt

 

bixiaopeng@bixiaopengtekiMacBook-Pro ~$ cat 1.txt姓名:毕小朋年龄:保密性别:公的博客:blog.csdn.net/wirelessqa微博:www.weibo.com/wirelessqa邮箱:wirelessqa.me@gmail.combixiaopeng@bixiaopengtekiMacBook-Pro ~$ cat 2.txt姓名:毕小朋年龄:28性别:公的博客:blog.csdn.net/wirelessqa微博:www.weibo.com/wirelessqa邮箱:wirelessqa.me@gmail.combixiaopeng@bixiaopengtekiMacBook-Pro ~$ cat 3.txt姓名:毕小朋年龄:保密性别:公的QQ:782670627博客:blog.csdn.net/wirelessqa微博:www.weibo.com/wirelessqa邮箱:wirelessqa.me@gmail.com

说明:1.txt跟2.txt相比内容有修改,1.txt跟3.txt相比3.txt内容有增加,3.txt与1.txt相比内容有所减少

 

 

一. 正常格式的diff

格式:$ diff <变动前的文件> <变动后的文件>

内容改变(c,代表change)

 

 

bixiaopeng@bixiaopengtekiMacBook-Pro ~$ diff 1.txt 2.txt2c2< 年龄:保密---> 年龄:28

小解其意:
2c2表示文件1第二行内容改变,变动后变为文件2的第二行,c表示内容改变
< 年龄:保密 表示该行被去除
--- :分享符
> 年龄:28 : 增加了该行,“年龄:28 ”是内容

"增加"(a,代表addition)

 

bixiaopeng@bixiaopengtekiMacBook-Pro ~$ diff 1.txt 3.txt3a4> QQ:782670627

 

 

"删除"(d,代表deletion)

 

 

bixiaopeng@bixiaopengtekiMacBook-Pro ~$ diff 3.txt 1.txt4d3< QQ:782670627

 

 

二. 上下文格式的diff

格式:$ diff -c <变动前的文件> <变动后的文件>

说明:-c表示:content

内容改变(change)

 

"增加"(+)

 

bixiaopeng@bixiaopengtekiMacBook-Pro ~$ diff -c 1.txt 3.txt*** 1.txt     Mon Aug 12 22:54:56 2013--- 3.txt     Mon Aug 12 23:08:08 2013****************** 1,6 ****--- 1,7 ----  姓名:毕小朋  年龄:保密  性别:公的+ QQ:782670627  博客:blog.csdn.net/wirelessqa  微博:www.weibo.com/wirelessqa  邮箱:wirelessqa.me@gmail.com

 

 

"删除"(-)

 

 

bixiaopeng@bixiaopengtekiMacBook-Pro ~$ diff -c 3.txt 1.txt*** 3.txt     Mon Aug 12 23:08:08 2013--- 1.txt     Mon Aug 12 22:54:56 2013****************** 1,7 ****  姓名:毕小朋  年龄:保密  性别:公的- QQ:782670627  博客:blog.csdn.net/wirelessqa  微博:www.weibo.com/wirelessqa  邮箱:wirelessqa.me@gmail.com--- 1,6 ----

 

三. 合并格式的diff

 

如果两个文件相似度很高,那么上下文格式的diff将显示大量重复的内容,很浪费空间,"合并格式"的diff就是将两个文件的上下文合并在一起显示

格式:$ diff -u <变动前的文件> <变动后的文件>

内容改变

 

 

bixiaopeng@bixiaopengtekiMacBook-Pro ~$ diff -u 1.txt 2.txt--- 1.txt     2013-08-12 22:54:56.000000000 +0800+++ 2.txt     2013-08-12 22:56:19.000000000 +0800@@ -1,5 +1,5 @@ 姓名:毕小朋-年龄:保密+年龄:28 性别:公的 博客:blog.csdn.net/wirelessqa 微博:www.weibo.com/wirelessqa

小解其意:

---表示变动前的文件
+++表示变动后的文件
开始行和结束行都用@@
它将两个文件的上下文,合并显示在一起,所以叫做"合并格式"。每一行最前面的标志位,空表示无变动,减号表示第一个文件删除的行,加号表示第二个文件新增的行。

"增加"(+)

bixiaopeng@bixiaopengtekiMacBook-Pro ~$ diff -u 1.txt 3.txt--- 1.txt     2013-08-12 22:54:56.000000000 +0800+++ 3.txt     2013-08-12 23:08:08.000000000 +0800@@ -1,6 +1,7 @@ 姓名:毕小朋 年龄:保密 性别:公的+QQ:782670627 博客:blog.csdn.net/wirelessqa 微博:www.weibo.com/wirelessqa 邮箱:wirelessqa.me@gmail.com

 

"删除"(-)

 

 

bixiaopeng@bixiaopengtekiMacBook-Pro ~$ diff -u 3.txt 1.txt--- 3.txt     2013-08-12 23:08:08.000000000 +0800+++ 1.txt     2013-08-12 22:54:56.000000000 +0800@@ -1,7 +1,6 @@ 姓名:毕小朋 年龄:保密 性别:公的-QQ:782670627 博客:blog.csdn.net/wirelessqa 微博:www.weibo.com/wirelessqa 邮箱:wirelessqa.me@gmail.com

 

 

转载于:https://www.cnblogs.com/pangblog/p/3257991.html

你可能感兴趣的文章
win7电脑调整分区后分区不见的文件寻回法子
查看>>
《第一行代码》学习笔记2-Android开发特色
查看>>
bzoj3396 [Usaco2009 Jan]Total flow 水流
查看>>
20165231 2017-2018-2 《Java程序设计》第3周学习总结
查看>>
(180905)如何通过梯度下降法降低损失----Google机器学习速成课程笔记
查看>>
(响应式PC端媒体查询)电脑屏幕分辨率尺寸大全
查看>>
Crystal Reports拉报表报错:Error detected by database DLL
查看>>
Java获取新浪微博cookies
查看>>
面试题总结
查看>>
【BZOJ1095】捉迷藏(动态点分治)
查看>>
Table Basics [转载]
查看>>
Logback 学习笔记
查看>>
并查集
查看>>
11、组件注册-使用FactoryBean注册组件
查看>>
nyoj_95_众数问题_map练习
查看>>
For循环
查看>>
020-安装centos6.5后的生命历程
查看>>
面试介绍项目经验(转)
查看>>
创建并设置ASP.NET的会话状态服务器(SQL State Server)
查看>>
<metro>Google的验证
查看>>