zoukankan      html  css  js  c++  java
  • 【Linux常用工具】1.1 diff命令的三种格式


    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
    



  • 相关阅读:
    swift语言点评十三-Lazy
    swift语言点评十二-Subscripts
    swift语言点评十一-Methods
    命题和判断有什么区别和联系
    形式逻辑三大基本要素-推理的本质
    逻辑的本质是结构和联系的可推理性
    swift语言点评十-Value and Reference Types
    swift语言点评九-类与结构
    swift语言点评八-枚举
    阅读与带宽
  • 原文地址:https://www.cnblogs.com/pangblog/p/3257991.html
Copyright © 2011-2022 走看看