【问题标题】:Command line diff utility [closed]命令行差异实用程序[关闭]
【发布时间】:2023-03-09 08:03:01
【问题描述】:

有人可以推荐一个好的(希望是免费的)命令行差异实用程序。我基本上需要从 .Net 启动它以生成某种文本文件,其中包含两个 xml 文件之间的差异。

谢谢!

【问题讨论】:

  • 除了在问题的第二句话中随意引用 .Net 之外,我建议对哪个平台进行一些说明。

标签: command-line diff


【解决方案1】:

您始终可以使用 Windows 的 fc 文件比较工具中的构建,但是,虽然不是免费的,但我会推荐 Beyond Compare。除了是一个非常好的图形差异工具外,它还可以在命令行中使用。

【讨论】:

  • 如果要将其集成到应用程序中,我认为 Beyond Compare 之类的东西不是一个好的选择(尽管它是一个很棒的图形差异程序)。一个小工具,甚至更好的库,似乎是要走的路。
  • @rmeador,图书馆确实会更好。该操作要求提供命令行实用程序。
【解决方案2】:

查看MSYS,它为您提供diff 以及 Windows 上所有常见的 GNU 实用程序。

正如其他人所说,您还可以通过安装 Cygwin 在 Windows 上获得 diff 和所有这些东西。

【讨论】:

  • 最相关的此类实用程序是“diff”。也可以通过 cygwin 获取,这是我的首选方法。
【解决方案3】:

用于 Win32 的 GNU 实用程序:

http://unxutils.sourceforge.net

【讨论】:

    【解决方案4】:

    纯文本diff 并不总是能很好地管理xml

    这是一个可能有帮助的现有 SO 问题:XML Diff and Merge

    【讨论】:

      【解决方案5】:

      好吧,Windows 已经自带了一个:FC.EXE 它可能不是人们能找到的最好的,但可能足以满足您的需要。

      【讨论】:

      • FC 在 Windows 7 上似乎已损坏 - 它拒绝识别完全有效的文件夹。
      【解决方案6】:

      WinMerge 一直为我工作。另一方面,如果你想要轻量级的极致,ExamDiff 只是一个 exe 文件。 不过,它们都不是命令行。

      为此,我建议只使用普通 diff,结合例如 vim 和一些插件,具体取决于您的偏好。 Diff 带有 unxutils,有人已经给出了链接(见上文)。

      【讨论】:

      • WinMerge 确实提供命令行访问
      【解决方案7】:

      我知道这是一个旧线程,但 Microsoft 的 XML Diff and Patch Tool 非常适合您描述的用途:

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

      重要的区别在于它是一个 XML 比较实用程序,而不是一个文本比较实用程序。如果节点或属性的顺序不同,文本差异实用程序将报告大量误报。

      如果您下载示例代码,您可以构建 XmlDiffView,它可用于生成关于 xml 文件之间差异的漂亮 HTML 报告。

      我用它来区分大量的 app.config 和 web.config 文件,发现它很方便。

      【讨论】:

        猜你喜欢
        • 2010-10-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-07
        • 1970-01-01
        • 1970-01-01
        • 2012-03-01
        相关资源
        最近更新 更多