2009-02-12 68 views
7

可以有人推薦一個好的(希望免費的)命令行diff實用程序。我基本上需要將它從.Net中解放出來,生成某種文本文件,其中包含兩個xml文件之間的區別。命令行diff實用程序

謝謝!

+0

除了在問題的第二句中偶然提到.Net外,我會建議您指出哪個平臺。 – 2009-02-12 21:55:34

回答

4

檢出MSYS,它給你diff和Windows上的所有常見的GNU工具。

正如別人所說,你也可以通過安裝Cygwin得到diff和所有的東西在Windows上。

+0

最相關的這種效用是「差異」。你也可以通過cygwin得到它,這是我的首選方法。 – rmeador 2009-02-12 16:14:02

8

您可以隨時使用windows的文件比較工具fc內的版本,但雖然不免費,但我會推薦Beyond Compare。除了是一個非常好的圖形比較工具,它也可以在命令行中使用。

+0

如果這將被集成到一個應用程序中,我不認爲像Beyond Compare這樣的東西會是一個不錯的選擇(雖然它是一個偉大的圖形差異程序)。一個小工具,甚至更好,一個圖書館,似乎是要走的路。 – rmeador 2009-02-12 16:14:42

+0

@rmeador,圖書館確實會更好。儘管如此,op要求命令行實用程序。 – 2009-02-12 16:18:15

2

那麼,Windows已經有一個:FC.EXE 它可能不是最好的,但可能是它已經足夠你需要它。

+0

FC似乎在Windows 7上被破解 - 它拒絕識別完全有效的文件夾。 – Johan 2011-03-17 06:03:02

3

純文本diff並不總是管理xml很好。

這裏是一個現有的SO問題,這可能有助於:XML Diff and Merge

2

WinMerge總是爲我工作。另一方面,如果你想要一些輕量級的極端,ExamDiff只是一個exe文件。 雖然它們都不是命令行。

因此,我會建議只是簡單的差異,結合,例如,VIM和一些插件,根據您的喜好。 Diff帶有unxutils,有人已經給出了鏈接(見上文)。

2

我知道這是一個古老的線程,但微軟的XML DIFF和修補程序工具可以很好地用於使用您所描述:

http://msdn.microsoft.com/en-us/library/aa302294.aspx

最重要的區別是,它是一個XML版本比較實用,而不是文本diff實用程序。如果節點或屬性的順序不同,文本差異工具會報告大量的誤報。

如果您下載示例代碼,您可以構建XmlDiffView,該XmlDiffView可用於生成XML文件之間差異的良好HTML報告。

我用它來區分大量的app.config和web.config文件,並發現它很方便。