比较文件 A 和 B 并找出差异

比较文件 A 和 B 并找出差异

我有一个 txt 格式的文件,但它很大(转换为 doc 大约有 100 页),我想将它与它的较新版本 B.txt 进行比较。有没有一种好方法来标记所有相同的部分,以便我可以发现差异?

答案1

有很多“好方法”,您可以根据口味从中选择:

  • 新VIM:
    nvim -d A.txt B.txt
    它是一款 TUI 文本编辑器,因此除了标记差异之外,它还允许您折叠差异、将一个文件编辑到另一个文件、对底层文件进行语法着色,以及执行各种常规文本编辑任务(从使用过滤器以使用正则表达式进行搜索和替换)。
  • 维姆:
    vimdiff A.txt B.txt
    根据 NeoVIM。
  • 图形用户界面:
    gvimdiff A.txt B.txt
    与 NeoVIM 和 VIM 一样,但用户界面是 GUI 而不是 TUI。
  • 差异:
    差异 A.txt B.txt
    一种“玻璃 TTY”差异工具,为了方便起见,人们通常希望将其输出通过管道传输到寻呼机,例如pagerlessmostmore。用于-u“统一”格式,其标记方案与默认输出格式不同,-y如塞巴斯的答案中所述。
  • 差异:
    sdiff A.txt B.txt
    另一种“玻璃 TTY”差异工具,其输出通常需要通过管道传输到寻呼机中。
  • 孔帕雷:
    比较 A.txt B.txt
    图形用户界面文件差异查看器,它还允许将一个文件逐一编辑到另一个文件中。这是第二项工作kompare。另一个是 GUI差异文件查看器,即输出的图形查看器diff
    diff -u A.txt B.txt | diff -u A.txt B.txt | diff -u A.txt B.txt | diff科帕雷-o-
  • emacs ediff:
    ediff缓冲区
    emacs 操作系统有自己的 diff 命令。我听说它很快就会有一个文本编辑器。 (-:
  • 差异:
    xxdiff A.txt B.txt
    另一种 GUI 差异工具,它还允许将一个文件逐个差异地编辑到另一个文件中。
  • Meld:另一个 GUI 差异工具。
  • Kdiff3:另一个GUI差异工具。
  • Guiffy:另一个 GUI 差异工具。

答案2

您可以使用比较文件diff

diff -u A.txt B.txt

对于并排比较(2 列),请使用-y选项。

答案3

如果你真的想手动“标记所有相同的部分”, 我有比较了很多 Linux 的视觉差异工具,发现只有两个支持手动对齐——Beyond Compare 和 Diffuse。

还有一个 Windows 工具可以通过 wine 正常运行,并且支持手动对齐 - Grigsoft CompareIt!。

相关内容