您可能需要比較兩個或多個文件以進行更改,或檢查兩個相同文件中的錯誤。 無需讀取這兩個文件並準確比較它們,有一些 Linux 內置工具可以在這方面提供幫助。

本文介紹了用於比較 Linux 文件的內置函數、一些第三方工具以及它們的工作原理。

如何在 Linux 上比較文件

使用以下實用程序比較文件時:

  • 區別
  • 色差
  • 寬的

什麼是 Linux diff 命令?

Diff 命令逐行比較兩個文件。它還有助於區分文件差異並提及這些差異。始終將第一個文件與其他文件進行比較。換句話說,您可以通過比較第一個文件和第二個文件來查看第一個文件之間的差異。因此,最好對第一個文件進行更改(如果有任何差異)以匹配第二個文件。

結果可能顯示三個字符:“a is added”、“c is changed”和“d is deleted”。符號“”用於顯示第二個文件。
diff 命令的語法是:

 diff [first file name]  [second file name]

考慮一個例子來理解這個命令是如何工作的。 在 Ubuntu 20.04 的 Documents 文件夾中創建兩個名為 test_file1 和 test_file2 的文本文件,並在圖像中顯示文本。

然後在 Ubuntu 20.04 終端中打開以下命令查看區別。導航到您保存文件的文件夾。

diff test_file1 test_file2 

檢查兩個文件之間的差異

上述輸出表明上述文件存在差異。 3a4 表示您需要在第三行的第一個文件中添加一個。

現在,有關詳細步驟,請運行以下命令:

diff test_file2 test_file1 

Linux 上 diff 的另一個例子

此命令僅比較 test_file2 和 test_file1。接下來,讓我們看看輸出。此輸出的含義 “4d3” 刪除含義 第 4 行test_file2 匹配 test_file1。

使用不同的標誌將幫助您更輕鬆地了解文件之間的差異。在討論標誌之前,讓我們看一下使用標誌的一般語法。

 diff –[flag] [filename1] [filename2]

有許多用於不同目的的標誌。這裡有兩個細節供大家理解。

如何使用 diff 命令在上下文模式下查看文件

使用標誌“c”以上下文模式顯示結果。讓我們回顧一下前面的例子,並使用這個標誌來比較它們,看看它是如何工作的。

diff -c test_file1 test_file2 

上下文模式下的 Diff 命令

此帶有標誌的輸出還顯示了文件創建的詳細信息和時間。 “!” 意味著需要改變, “——” 表示要刪除的內容, “+” 這意味著添加一些東西來匹配第一個文件和第二個文件。

集成模式如何與 diff 命令一起使用:

用於以集成模式查看文件。您可以使用標誌“u”檢查它。這與上下文模式的不同之處在於它不顯示非必要信息。
考慮一個例子。

diff -u test_file1 test_file2 

Unity 模式差異示例

因此,該標誌準確地顯示了結果,讓讀者更好地理解結果。在上面的輸出中,-1,3 表示您需要在第一個文件中刪除“從保險槓中”並添加第四行。
其他標誌及其用法如下:

標誌細節e用於在 ed 腳本中顯示輸出。y以顏色顯示輸出q僅在有差異時才輸出

您可以通過在 Ubuntu 終端中鍵入以下命令來查看所有標誌及其功能:

man diff 

差異手冊頁

什麼是 colordiff 命令?

工作 colordiff 該命令與 diff 命令相同,但它以一種易於用戶理解的彩色方式顯示結果,並顯示一個吸引讀者的可讀文件。
考慮前面的例子。

colordiff test_file1 test_file2 

輸出是彩色的。

colordiff 命令示例

什麼是 wdiff 命令

逐字比較文件。指示要添加的單詞以及匹配兩個文件的位置。為了便於理解,再次考慮前面的例子。

wdiff test_file1 test_file2 

輸出如下:

在 Linux 上將文件與 wdiff 進行比較

從輸出中,您可以看到您需要刪除“From Front Insurance”並添加“汽車需要修理”。但它沒有顯示它在哪一行。這就是區別 “差異” 什麼時候 “區別”..

您可以使用第三方工具來比較兩個 Linux 文件。廣泛使用的工具 vimdiff..

用 Vimdiff 比較文件

您還可以使用 vim 編輯器來比較兩個 Linux 文件。為此,首先安裝 vim 編輯器,如下所示:

sudo apt install vim 

然後使用vim編輯器對比之前的文件。

vimdiff test_file1 test_file2 

輸出應如下所示:

將文件與 vimdiff 進行比較

輸出出現在表格中並以顏色突出顯示。需要添加的部分以藍色突出顯示,藍色“-”表示需要添加的內容。

除此之外,還有許多第三方編輯器可用於比較 Linux 上的兩個文件。例如, 相比, 差異合併Diffuse-GUI 工具等

結論是

在這個時代,每個人都希望讓生活更輕鬆,因此與其逐字比較文件,他們更願意將其與一些工具進行比較,以便在更短的時間內獲得準確的結果。本文介紹瞭如何使用 Linux 內置命令和第三方工具來比較 Linux 上的兩個文件。