【Linux常用工具】1. diff命令的三種格式

來源:互聯網
上載者:User


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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.