使用易于阅读的 GUI 程序比较两个文件?

使用易于阅读的 GUI 程序比较两个文件?

我想比较两个大小不接近 1Gb 的大文件。

Kompare当文件负载很大时崩溃。我的配置Kompare如下图所示:

尝试为大文件配置它

我想以一种Kompare对于不熟悉的人来说可以管理的方式(即清晰并用颜色和线条显示)来呈现差异Terminal

我也尝试过使用以下命令:

diff --speed-large-files a.file b.file

按照建议这里:

有没有办法将 diff 的输出转储到文件中,以便稍后可以由另一个程序读取。

答案1

有没有办法将 diff 的输出转储到文件中,以便稍后可以由另一个程序读取?

是的!

diff --speed-large-files a.file b.file > diffoutput

这将创建一个名为 diffoutput 的文件,并将 的输出写入diff其中。

我想以 Kompare 所做的方式呈现差异(即清晰并用颜色和线条显示),以便不熟悉终端的人可以管理。

我认为 Kompare 不会为此目的而努力。 (或者,至少不是直接进行比较。)我尝试比较两个 3MB 的文件,它需要 150 MB 的内存。我假设如果我尝试比较两个 1GB 文件,则需要大约 50GB。

这里有一些想法:

  • 将文件分开。split -l 5000 filename可以将名为 filename 的文件拆分为 5000 行块。
  • 删除不重要的行。假设,如果您只关心其中包含 FOOBAR 的行,则可以运行grep FOOBAR input > output并仅获取包含 FOOBAR 的行。
  • 使用一些外壳。这个命令:

    colordiff --suppress-common-lines -y file1.ext file2.ext | aha > test.html
    

    将比较两行;为不同的线条应用颜色;删除公共线;并排显示它们;并创建一个可以在 Web 浏览器中打开的 HTML 文件。

相关内容