分類: Linux

使用 colordiff 指令將 diff 的輸出加上顏色、更好閱讀

在 Linux 中的 diff 指令可以比較兩個文字檔案之間的差異,通常用於比較檔案新舊版本之間的變動處、或是產生 patch 檔(patch 指令所使用的輸入檔)。

傳統上 diff 的輸出是沒有顏色的,如果在比較兩個檔案的差異時(是人在看的,不是給電腦看的),可以透過 colordiff 指令把原本 diff 的輸出加上顏色,讓輸出更容易閱讀。

colordiff 這個工具程式已經在各種常用的 Linux 與 FreeBSD 等平台中被測試過了,至於其他的平台基本上應該也可以使用。

Step 1
安裝 colordiff,如果是 Ubuntu 或 Debian Linux,可使用 apt-get 安裝:

sudo apt-get install colordiff

如果是 CentOS 或 Fedora 等,可用 yum 安裝:

yum install colordiff

Step 2
基本上 colordiff 與傳統的 diff 是用法差不多的:

colordiff file1 file2

除此之外,也可以配合傳統的 diff 來使用:

diff -u file1 file2 | colordiff

如果輸很長,可以使用 less 指令加上 -r 或是 -R 參數保留 ANSI 跳脫字元(escape sequences):

diff -u file1 file2 | colordiff | less -R


使用 colordiff 之後,輸出就有顏色了:

除了 colordiff 之外,也有一些其他的指令可以將 diff 的輸出加上顏色,例如使用 remark

diff file1 file2 | remark /usr/share/regex-markup/diff

或是使用 grc 指令:

grc diff file1 file2

參考資料:nixCraft

G. T. Wang

個人使用 Linux 經驗長達十餘年,樂於分享各種自由軟體技術與實作文章。

Recent Posts

光陽 KYMCO GP 125 機車接電發動、更換電瓶記錄

本篇記錄我的光陽 KYMCO ...

2 年 ago

[開箱] YubiKey 5C NFC 實體金鑰

本篇是 YubiKey 5C ...

2 年 ago

[DIY] 自製竹火把

本篇記錄我拿竹子加上過期的苦茶...

3 年 ago