【Linux常用工具】1. diff命令的三种格式
2013-08-13 22:30
393 查看
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.1 diff命令的三种格式
- Linux常用命令和工具之一
- linux常用工具命令
- Linux常用命令-文件处理命令-命令格式与目录处理命令ls
- GNU/Linux 常用命令与工具备忘
- Linux下常用网络故障调试工具介绍之Tcpdump命令使用
- 二十八、Linux下Vim工具常用命令
- linux系统安装数据库时,xshell工具常用MySQL(5.5)相关命令
- Linux常用命令/工具(三)
- 20个常用Linux性能监控工具/命令
- Linux调试工具strace和gdb常用命令小结
- linux常用命令基本格式
- GNU/Linux 常用命令与工具备忘
- windows下使用 Secure Shell Client工具操作linux常用命令
- Linux调试工具strace和gdb常用命令小结
- Linux调试工具strace和gdb常用命令小结
- 工作常用的linux/mysql/php/工具命令
- Linux常用的系统维护监控命令工具
- Linux常用命令-命令的基本格式
- 烂大街的常用Linux命令、工具