2009-02-12 55 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文件,并发现它很方便。