歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux對比文本文件

1. Without GUI

1.1 diff

diff可以比較2個文件夾

語法:diff [選項] file1 file2 說明:該命令告訴用戶,為了使兩個文件file1和file2一致,需要修改它們的哪些行。如果用“- ”表示file1或fiie2,則表示標准輸入。如果file1或file2是目錄,那麼diff將使用該目錄中的同名文件進行比較。例如: diff /usr/xu mine

選項的含義如下:
- b 忽略行尾的空格,而字符串中的一個或多個空格符都視為相等。
如How are you與How are you被視為相同的字符串。
- c 采用上下文輸出格式(提供三行上下文)。
- C n 采用上下文輸出格式(提供n行上下文)。
- e 產生一個合法的ed腳本作為輸出。
- r 當file1和file2是目錄時,遞歸作用到各文件和目錄上。

1.2 comm

語法:comm [- 123 ] file1 file2 說明:該命令是對兩個已經排好序的文件進行比較。其中file1和file2是已排序的文件。comm讀取這兩個文件,然後生成三列輸出:僅在file1中出現的行;僅在file2中出現的行;在兩個文件中都存在的行。如果文件名用“- ”,則表示從標准輸入讀取。 comm -1 不顯示只出現在第一個文件的行。 comm -2 不顯示只出現在第二個文件的行。 comm -3 不顯示同時出現在兩個文件的行。 comm file1 file2 顯示三列,第一列代表只出現在file1的行,第二列代表只出現在file2的行,第三列代表倆個文件同時出現的行 comm -12 顯示兩個文件同時出現的行 也就是交集 comm -13 顯示只出現在第二個文件的行 comm -23 顯示只出現在第一個文件的行

1.3 colordiff

在 Linux 下,使用 diff 命令可以對文件進行比較,從而了解其差異。不過,diff 命令的輸出結果以同色顯示,對於這種差異的表現可能不夠強烈。好在我們還可以通過 ColorDiff 來加以改善。ColorDiff 是一個 Perl 腳本,它通過不同的顏色來高亮顯示 diff 命令的輸出結果,非常顯眼。

ColorDiff 適用於 Linux 及 BSD 系統,目前已被包含到 Debian、Ubuntu、Gentoo、Arch Linux、Fedora、FreeBSD 等發行版中。你可以從中直接加以安裝。

\

2. With GUI

由於沒有GUI,diff和comm不是那麼好用,下面推薦幾個帶GUI的軟件。

2.1 diffuse

我一般都是用這個,很好用。也可以直接把內容粘貼到diffuse版面中,直接進行對比。

可視化比較,非常直觀。
支持兩相比較和三相比較。這就是說,使用 Diffuse 你可以同時比較兩個或三個文本文件。
支持常見的版本控制工具,包括 CVS、subversion、git、mercurial 等。你可以通過 Diffuse 直接從版本控制系統獲取源代碼,以便對其進行比較和合並。
支持像 C++、Python、Java、XML 等語言的語法高亮顯示。
能夠直接在 Diffuse 中編輯文件。
支持 UTF-8 編碼。
可以使用快捷鍵輕松導航。

\

2.2 KDiff3

KDiff3 是一款用來對文件或目錄進行比較/合並的工具,在比較時它可以同時針對兩個或者三個文件/目錄而進行。通過比較,它將文件/目錄的差異按行加以顯示。同時,KDiff3 提供有自動化的合並工具,方便使用者進行有關合並的操作。

此外,KDiff3 支持 Unicode 編碼,集成了編輯器,可以自動合並版本控制歷史。雖然 KDiff3 主要為 KDE 桌面而開發,但是仍然可以運行於其他的 Linux 環境。甚至對於 Windows、Mac OS X,KDiff3 也有相應的版本

3. 參考文獻

[1] Linux文件比較命令 http://baike.baidu.com/link?url=Q_9aovjvvYNNbDY09eUlz5R0kBd1RC17GmmZ9YRJFth6naLrptqmna15V3qzXrrP

[2] Linux下文件差異比較工具 http://blog.csdn.net/baozi1159/article/details/7572819

Copyright © Linux教程網 All Rights Reserved