5 種 Linux 比對文字檔工具

本篇介紹 5 種 Linux 比對文字檔工具,想要在 Linux 比對文字檔可以使用命令列指令也可以使用圖形介面的比對工具,在本篇將會介紹這些常見的工具,在 Linux 下比對文字檔的常用工具有 diff、colordiff、vimdiff 與 meld 等等工具。

以下 Linux 比對文字檔工具將分為這幾部分介紹,

  • linux diff 指令比對文字檔
  • linux colordiff 指令比對文字檔
  • linux vimdiff 指令比對文字檔
  • linux gvimdiff 指令比對文字檔
  • linux meld 指令比對文字檔

那我們開始吧!

linux diff 指令比對文字檔

linux 下可以 diff 指令來比對兩個文字檔,以下 diff 指令將會顯示兩個文字檔案之間的差異,如果是相同的沒有差異的話則不會有任何輸出。

1
diff file1.txt file2.txt

是否能夠告訴我比對結果不同即可,不要輸出差異呢?
那麼可以使用 -q 選項,這將僅顯示文字檔是否不同而不顯示實際的差異,
如果只關心文字檔是否不同,而不需要知道具體的差異,這樣可以提高效率。

1
diff -q file1.txt file2.txt

相同的話則沒有任何輸出,不相同的話則會輸出這樣的訊息,

1
Files file1.txt and file2.txt differ

diff 指令也可以像圖形化介面一樣並排分兩欄輸出,可以使用--side-by-side(或-y)選項。這將在輸出中以並排方式顯示兩個文字檔的差異,並在相同行上顯示差異,左邊顯示file1.txt的內容,右邊顯示file2.txt的內容,差異之處將以符號表示。

1
2
3
4
5
6
7
diff --side-by-side file1.txt file2.txt

# 或使用簡寫
diff -y file1.txt file2.txt

# 將diff的輸出通過管道傳遞給less查看結果
diff -y file1.txt file2.txt | less

如果想要忽略不顯示相同的部分,您可以使用--suppress-common-lines(或-s)選項。這將只顯示不同的行,而忽略不顯示相同的部分。

1
2
3
4
5
6
7
diff --side-by-side --suppress-common-lines file1.txt file2.txt

# 或使用簡寫
diff -y -s file1.txt file2.txt

# 將diff的輸出通過管道傳遞給less查看結果
diff -y -s file1.txt file2.txt | less

linux colordiff 指令比對文字檔

如果嫌棄 diff 的輸出只有單一顏色,想要有顏色的輸出方便觀察差異的話可以使用 colordiff 指令,執行指令如下,

1
colordiff file1.txt file2.txt

linux vimdiff 指令比對文字檔

linux vimdiff 指令比對文字檔將以 Vim 的方式顯示兩個檔案的差異,並允許你進行交互式編輯,

1
vimdiff file1.txt file2.txt

vimdiff 預設會 folder 折疊兩文字檔中相同的部分,只顯示不同的區域,

zi:切換folder折疊的功能
]c:跳至下一個改動,這裡的 c 表示 change
[c:跳至上一個改動

linux gvimdiff 指令比對文字檔

如果你想要一個圖形化介面 vimdiff 的話,那麼你可以使用 gvimdiff 來比對文字檔,使用方式跟 vimdiff 大同小異,但圖形化介面多了一些選單可以用滑鼠操作,喜歡圖形化介面的使用者不可錯過唷!

1
gvimdiff file1.txt file2.txt

zi:切換folder折疊的功能
]c:跳至下一個改動,這裡的 c 表示 change
[c:跳至上一個改動

linux meld 指令比對文字檔

如果您喜歡使用圖形化介面,可以考慮使用 meld,它是一個強大的比較和合併工具,在 linux 中是個很熱門的比對工具,

1
meld file1.txt file2.txt

對於大型檔案,使用 meld 可能會讓比較速度變慢,因為它們需要處理大量的資料。對於大檔案的比較,命令行工具可能更為有效或者改用 gvimdiff。

以上就是 5 種 Linux 比對文字檔工具介紹,這些方法的效果可能有所不同,視您的需求而定。diff、colordiff 和 vimdiff提供了基本的命令行界面,而 gvimdiff 和 meld 提供了更視覺化的比較。取決您的個人喜好和工作流程。
如果你覺得我的文章寫得不錯、對你有幫助的話記得 Facebook 按讚支持一下!

其它相關文章推薦
Linux 常用指令教學懶人包