2009-07-10 48 views
6

是否有diff工具可以保存比較標記?Diff工具,允許保存比較標記

爲了澄清,我想保存顯示差異的兩個文件的實際比較,以發送給某人進行審閱。


編輯

很多好的答案在這裏。在我的情況下,我已經有了Beyond Compare的副本,但沒有看到選項。感謝John Saunders指出該功能。這是「會話...文本比較報告...」順便說一句。

我的問題並不是專門關於Beyond Compare,所以我將接受當前擁有最多選票的答案。

回答

13

WinMerge是免費的,並允許您保存各種格式的差異。它對我來說足夠好,不需要在別處尋找,我喜歡這個價格。

如果您不能或不想安裝它,還有一個portable version

+2

也許關於如何做到這一點的一些細節可能會有用。我可能會錯過某些東西,但在版本2.14.0.0中,我可以看到的唯一方法是通過「工具 - 生成報告」(它只能提供保存爲HTML的選項)。 – 2015-11-19 11:03:06

+1

@SteveChambers實際上有一種方法可以獲得更多可用的東西。出於某種原因,他們稱之爲「修補程序」。點擊「工具」,然後點擊「Generare Patch」,然後您將獲得文本格式的兩個文件的簡單可用差異。參看我的答案在https://stackoverflow.com/a/48878453/2657549(使用版本2.14.0.0以及) – 2018-02-20 05:31:42

+0

[WinMerge](http://winmerge.org/downloads/source-code.php)實際上是免費的在「言論自由」中。它的源代碼[在那裏](http://winmerge.org/downloads/source-code.php),它在[GNU通用公共許可證](http://www.gnu.org/licenses/gpl- 2.0.html)。我認爲這是一個重要方面。 – 2018-02-21 20:59:02

2

我使用Scintilla Text Editor(SciTE)打開由命令行或WinMerge生成的diff文件,然後導出RTF,並保留差異的顏色突出顯示。特別是在通過電子郵件發送簡短的補丁以供內部審查時,我使用這種方法,例如,我使用Outlook。

我剛纔作爲例子使用的方法:

# diff -U 1000 a.txt b.txt > diff.txt 
# scite diff.txt 
### Edit-Copy as RTF 
### Paste into Outlook 

http://imagebin.ca/img/nBG25am.png

的WinMerge通過工具 - 提供此功能>生成補丁菜單項。我在Windows上使用MSYS工具,以便我運行GNU diff,但是一旦獲得輸出,如果需要類似上面的內容,我會使用SciTE。

4

如果您使用的是Unix,那麼您可以使用命令行diff來完成此操作,儘管聽起來好像不是。 Cygwin確實帶來了一個CLI差異,而Mac OS X也隨附了它。

$ diff <file> <other file> > mydiff.txt 
1

ExamDiff確實這是在窗口顯示的比較。它可以保存一個類Unix的格式化版本的差異。此外,該程序的文件到文件比較版本是免費的!