【Linux常用工具】1.1 diff命令的三种格式
2013-08-14 18:34
330 查看
diff是用来比较两个文本文件的差异的工具,它有三种格式,下面用实例介绍一下:
准备三个测试文件1.txt 2.txt 3.txt
bixiaopeng@bixiaopengtekiMacBook-Pro ~$ cat 1.txt 姓名:毕小朋 年龄:保密 性别:公的 博客:blog.csdn.net/wirelessqa 微博:www.weibo.com/wirelessqa 邮箱:wirelessqa.me@gmail.com bixiaopeng@bixiaopengtekiMacBook-Pro ~$ cat 2.txt 姓名:毕小朋 年龄:28 性别:公的 博客:blog.csdn.net/wirelessqa 微博:www.weibo.com/wirelessqa 邮箱:wirelessqa.me@gmail.com bixiaopeng@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.txt 2c2 < 年龄:保密 --- > 年龄:28
小解其意:
2c2表示文件1第二行内容改变,变动后变为文件2的第二行,c表示内容改变
< 年龄:保密 表示该行被去除
--- :分享符
> 年龄:28 : 增加了该行,“年龄:28 ”是内容
"增加"(a,代表addition)
bixiaopeng@bixiaopengtekiMacBook-Pro ~$ diff 1.txt 3.txt 3a4 > QQ:782670627
"删除"(d,代表deletion)
bixiaopeng@bixiaopengtekiMacBook-Pro ~$ diff 3.txt 1.txt 4d3 < 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
相关文章推荐
- 【Linux常用工具】1. diff命令的三种格式
- Linux下Vim工具常用命令
- Linux常用命令(一)命令基本格式
- Linux调试工具strace和gdb常用命令小结
- 基于Linux调试工具strace与gdb的常用命令总结
- [zz]Linux调试工具strace和gdb常用命令小结
- linux常用命令之命令基本格式
- Linux调试工具strace和gdb常用命令小结
- 烂大街的常用Linux命令、工具
- linux基本格式和常用目录命令<一>
- 工作常用的linux/mysql/php/工具命令
- Linux调试工具strace和gdb常用命令小结-转
- Linux常用命令-命令的基本格式
- 查看linux服务器配置和TOP命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况。
- 讓你提前認識軟件開發(2):軟件開發工程師常用的工具軟件命令_Linux 讓你提前認識軟件開發(2):軟件開發工程師常用的工具軟件 命令用法详解:
- linux命令 host-常用的分析域名查询工具
- Linux 系统常用命令格式:
- Linux常用命令(工具)
- Linux mysql 工具常用命令
- Unix/Linux常用监控和管理命令工具