比較文件 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!。

相關內容