在 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