Diff

用一個易於閱讀的 GUI 程序比較兩個文件?

  • September 14, 2018

我想比較兩個大小不接近 1Gb 的大文件。

Kompare當文件載入很大時崩潰。我配置Kompare如下圖:

嘗試為大文件配置它

我想以一種對Kompare不熟悉Terminal.

我也嘗試過使用以下命令:

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

正如這裡所建議的:

有沒有辦法將 diff 的輸出轉儲到文件中,以便稍後可以由另一個程序讀取。

有沒有辦法將 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 文件。

引用自:https://unix.stackexchange.com/questions/468895