婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > 教你一招實(shí)現(xiàn)Linux中的文本比對(duì)

教你一招實(shí)現(xiàn)Linux中的文本比對(duì)

熱門(mén)標(biāo)簽:哈爾濱400電話去哪辦理 廣東如何申請(qǐng)400電話 北京人工外呼系統(tǒng)廠家 400電話申請(qǐng)要什么條件 寧波400電話辦理對(duì)企業(yè)的意義 話術(shù)外呼系統(tǒng) i智能電話機(jī)器人yeta 西柏坡地圖標(biāo)注 燃?xì)夤芫€地圖標(biāo)注顏色

前言

我們?cè)趯?xiě)代碼的過(guò)程中,免不了會(huì)對(duì)代碼進(jìn)行一些修修改改。但經(jīng)常會(huì)出現(xiàn)改著改著,就不知道改完后與源文件的差異是怎樣的。這里,我們就需要一個(gè)文本比對(duì)工具來(lái)進(jìn)行文本比對(duì)。

有經(jīng)驗(yàn)的程序員都知道,Windows下有個(gè)很好用的文本比對(duì)工具——BeyondCompare。但它是收費(fèi)軟件,很多正規(guī)的公司是不允許使用破解軟件的。而且,它也只能在Windows下使用,沒(méi)有Linux版本。

本文所介紹的文本比對(duì)方法,無(wú)需任何軟件,只需一個(gè)Linux命令。學(xué)會(huì)這個(gè)命令,媽媽就再也不怕你不會(huì)文本比對(duì)了。

這個(gè)Linux命令就是diff命令。

diff是Unix系統(tǒng)的一個(gè)很重要的工具程序。它用來(lái)比較兩個(gè)文本文件的差異,是代碼版本管理的基石之一。

首先我們來(lái)看它的基本命令格式。

diff [OPTION]... FILES

很簡(jiǎn)單吧。不過(guò)它的選項(xiàng)相當(dāng)多,多到你懷疑人生。我們暫且不管那么多,先學(xué)一些最常用的,畢竟時(shí)間要花在刀刃上。

-b ——  忽略一行中的空字符的區(qū)別(例如“Hello World!” 與 “Hello        World!!”認(rèn)為是一樣的)

-B —— 忽略空白行

-i —— 忽略大小寫(xiě)的不同

-r —— 如果diff后面接的目錄時(shí),會(huì)遞歸比較子目錄中的文件不同

我們?cè)賮?lái)具體看看如何進(jìn)行文本比較。

diff命令的輸出格式有三種:

(1)正常格式(normal diff)

(2)上下文格式(context diff)

(3)合并格式(unified diff)

我們通過(guò)實(shí)例詳細(xì)介紹這三種輸出格式。比如我們現(xiàn)在有個(gè)文件a.c,它的內(nèi)容如下:

現(xiàn)在我們復(fù)制一份,命名為b.c,并將第3行小寫(xiě)的"hello"改為大寫(xiě)“HELLO",如下:

(1)正常格式

正常格式下我們無(wú)需加任何選項(xiàng),直接如下比對(duì)就好:

執(zhí)行完的結(jié)果如下:

我們一行一行來(lái)解釋上圖的含義。

行一行:3c3

第一個(gè)3表示文件a.c中第3行有變化,后面的3表示a.c通過(guò)變化成為b.c中的第3行。中間的c就是具體的變化了。c表示改變(change),其它類型還有d刪除(delete),a增加(addition)。

第二行:< hello world!

表示a.c文件中去除第3行的內(nèi)容,其中小于號(hào)表示去除。

第三行:------

分隔線

第四行:> HELLO world!

表示b.c文件中增加第3行的內(nèi)容,其中大于號(hào)表示增加。

(2)上下文格式

由于在正常格式下,提示信息比較少,我們無(wú)法快速定位所修改的地方,經(jīng)常需要打開(kāi)文件才知道修改細(xì)節(jié)。所以,為了給出更多的信息,引入了上下文格式。它的使用命令如下:

diff -c a.c b.c

其中,c表示context,即上下文的意思。

上圖的輸出結(jié)果的具體含義如下:

第1行和第2行表示修改前及修改后的文件及更新時(shí)間。下面的*** 1,4 ****表示a.c文件顯示的從第1行開(kāi)始到第4行為止的內(nèi)容。hello world前的嘆號(hào)(!)表示該行有改動(dòng),如果該行被刪除,則為減號(hào)(-),如果該行被增加,則為加號(hào)(+)。后面幾行的含義類似。

(3)合并格式

這種格式是正常格式與上下文格式的綜合版,同時(shí)這種格式也是git diff所采用的格式。使用這種格式的命令是:

diff -u a.c b.c

上圖的輸出結(jié)果詳細(xì)含義如下:

第1行和第2行表示修改前及修改后的文件及更新時(shí)間。后面的-hello world!表示原文件a.c里的內(nèi)容,+HELLO  world!表示b.c里的內(nèi)容。

除了以上三種格式外,還有另外一直更直觀的方式——并排格式。這種顯示格式的命令格式如下:

這種格式就是以并列的格式進(jìn)行顯示,也很直觀明了。第3行里,有個(gè)“|”符號(hào),表示這行有更改。另外,如果前面是“<”,表示后面文件比前面文件少了1行內(nèi)容;如果是">",表示后面文件比前面文件多了1行內(nèi)容。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

標(biāo)簽:開(kāi)封 珠海 張家口 湘潭 襄陽(yáng) 西藏 巴中 阜陽(yáng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《教你一招實(shí)現(xiàn)Linux中的文本比對(duì)》,本文關(guān)鍵詞  教你,一招,實(shí)現(xiàn),Linux,中的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《教你一招實(shí)現(xiàn)Linux中的文本比對(duì)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于教你一招實(shí)現(xiàn)Linux中的文本比對(duì)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 卓资县| 黄冈市| 鲁山县| 松潘县| 资溪县| 靖远县| 彩票| 黔东| 广东省| 灵璧县| 兴义市| 六安市| 江安县| 迁西县| 信阳市| 始兴县| 阜康市| 苏尼特右旗| 霍山县| 延庆县| 正定县| 靖西县| 余干县| 仙居县| 大关县| 奉新县| 大关县| 龙海市| 武胜县| 苏尼特左旗| 东乡县| 平凉市| 临汾市| 根河市| 翁牛特旗| 平邑县| 康保县| 沈阳市| 武定县| 贺州市| 五大连池市|