久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Linux下如何比對文本

169次閱讀
沒有評論

共計 1495 個字符,預計需要花費 4 分鐘才能閱讀完成。

這篇文章將為大家詳細講解有關 Linux 下如何比對文本,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

這個 Linux 命令就是 diff 命令。

diff 是 Unix 系統的一個很重要的工具程序。它用來比較兩個文本文件的差異,是代碼版本管理的基石之一。

首先我們來看它的基本命令格式。

diff [OPTION]... FILES

很簡單吧。不過它的選項相當多,多到你懷疑人生。我們暫且不管那么多,先學一些最常用的,畢竟時間要花在刀刃上。

-b mdash; mdash; 忽略一行中的空字符的區別(例如“Hello World!”與“Hello World!!”認為是一樣的)

-B mdash; mdash; 忽略空白行

-i   mdash; mdash; 忽略大小寫的不同

-r mdash; mdash; 如果 diff 后面接的目錄時,會遞歸比較子目錄中的文件不同

我們再來具體看看如何進行文本比較。

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

正常格式(normal diff)

上下文格式(context diff)

合并格式(unified diff)

我們通過實例詳細介紹這三種輸出格式。比如我們現在有個文件 a.c,它的內容如下:

現在我們復制一份,命名為 b.c,并將第 3 行小寫的 hello 改為大寫“HELLO,如下:

1. 正常格式

正常格式下我們無需加任何選項,直接如下比對就好:

diff a.c b.c

執行完的結果如下:

我們一行一行來解釋上圖的含義。

第一行:3c3

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

第二行:hello world!

表示 a.c 文件中去除第 3 行的內容,其中小于號表示去除。

第三行:——

分隔線

第四行:HELLO world!

表示 b.c 文件中增加第 3 行的內容,其中大于號表示增加。

2. 上下文格式

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

diff -c a.c b.c

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

上圖的輸出結果的具體含義如下:

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

3. 合并格式

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

diff -u a.c b.c

上圖的輸出結果詳細含義如下:

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

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

diff a.c b.c -y -W 50

這種格式就是以并列的格式進行顯示,也很直觀明了。第 3 行里,有個“|”符號,表示這行有更改。另外,如果前面是“”,表示后面文件比前面文件少了 1 行內容; 如果是,表示后面文件比前面文件多了 1 行內容。

關于“Linux 下如何比對文本”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計1495字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 定西市| 开原市| 山阴县| 东海县| 东宁县| 沾益县| 镇宁| 罗甸县| 镇巴县| 城口县| 徐闻县| 金湖县| 阿拉善右旗| 民丰县| 株洲市| 广德县| 绵阳市| 舒兰市| 奈曼旗| 英山县| 葵青区| 文安县| 沂南县| 宜川县| 股票| 额济纳旗| 罗源县| 苏尼特右旗| 海阳市| 德保县| 昌宁县| 梅州市| 建湖县| 梅河口市| 大渡口区| 岑溪市| 桐乡市| 竹北市| 新龙县| 延寿县| 丹棱县|