Text diff tools: Difference between revisions

From LemonWiki共筆
Jump to navigation Jump to search
Line 13: Line 13:
** 如果同一檔案,但是不同「行尾字元」(Windows: CRLF, Unix: LF, Mac: CR),則整個檔案視為不同,需要手動轉換。 [[Image:Icon exclaim.gif| ]] (選單: 檔案 --> 轉換行尾字元成... )
** 如果同一檔案,但是不同「行尾字元」(Windows: CRLF, Unix: LF, Mac: CR),則整個檔案視為不同,需要手動轉換。 [[Image:Icon exclaim.gif| ]] (選單: 檔案 --> 轉換行尾字元成... )
** 忽略以 [[Comment Syntax]] 為起首的該行的內文的差異: 可。 [http://manual.winmerge.org/Filters.html Using Filters - WinMerge 2.12 Manual]
** 忽略以 [[Comment Syntax]] 為起首的該行的內文的差異: 可。 [http://manual.winmerge.org/Filters.html Using Filters - WinMerge 2.12 Manual]
* 比較資料夾:
* 比較資料夾: 可。 {{exclaim}} 不能忽略特定規則的檔案或資料夾。
* 大檔案比較: 超過 900MB 檔案會當掉 {{exclaim}}
* 大檔案比較: 超過 900MB 檔案會當掉 {{exclaim}}



Revision as of 11:23, 15 November 2018

檔案比對或資料夾比對工具:

  1. 比較或合併純文字檔案 (如程式碼) 內容 (the diff or merge tools for comparing files by content) 或
  2. 比較不同資料夾檔案

Free tools

Good.gif WinMerge 2.14 (portable version)

  • 介面: GUI, GNU software
  • 輸出: 可輸出比較的檔案,如補綴檔案(選單: 工具 -> 產生補綴)、HTML檔案(選單: 工具 -> 產生報告)
  • 比較檔案
  • 比較資料夾: 可。 Icon_exclaim.gif 不能忽略特定規則的檔案或資料夾。
  • 大檔案比較: 超過 900MB 檔案會當掉 Icon_exclaim.gif

Compare It! v.4

  • 介面: GUI, freeware
  • 輸出: 可輸出比較檔案,格式有html、unix diff等 (Menu: File -> Report: Generate comparison report)
  • 比較萬國碼的檔案(unicode support): 可
  • 比較資料夾: 可,輸出左右欄內文比較的網頁檔 (實際測試有檔案漏掉)
  • 大檔案比較:

DiffUtils for Windows 2.8.7

  • 介面: command-line software, GNU software
  • cmd> diff -durN 原始的檔名 更改後的檔名 > diff.txt

Diff Doc 3.27 - A compare files Tool. Compare document, Compare XLS-Text-RTF and other file types.

  • 介面: GUI, freeware
  • comment: 自作主張將movabletype的template轉成html,比較不出差異。安裝時不要選擇Traditional chinese,會造成介面亂碼

DiffMerge v.4.2.0 for Win Os windows.png & Mac icon_os_mac.png

  • 介面: GUI
  • 輸出: 可輸出比較檔案 (選單列: Export --> File diffs)
  • 比較檔案
    • 比較萬國碼的檔案(unicode support): 可
    • 標示行內差異的行內文字: 可
  • 比較資料夾: 可
  • 大檔案比較:

ExamDiff(TM) Version 1.8

  • 介面: GUI, freeware
  • unicode support: ExamDiff Freeware版本不支援 (Pro版本$有支援)
  • comment: 輸出的比較檔案與DiffUtils相同僅有UNIX Diff File,但是缺乏DiffUtils選項設定,導致不易懂

FileZilla v.3.5.2

  • 介面: GUI, freeware
  • 輸出: 否
  • 比較檔案: 否
  • 比較資料夾: 可。Icon exclaim.gif (1)僅比對資料夾的檔案日期 或 檔案大小 擇一。如果檔案內容相同,但檔案名稱不同,視為不同。 (2)如果子資料夾有不同檔案,不會在子資料夾標示上顏色。
  • 大檔案比較:

Meld Diff Viewer for *unix like OS

  • 介面: GUI, freeware
  • 輸出: ?
  • unicode support: ?


Notepad++ v.6.1.5 + Compare plugin[1][1]

  • 介面: GUI, freeware
  • 輸出: 不可輸出比較檔案
  • unicode support: 可

TextDiff 4.2

KDiff3 0.9.97 (2012-08-12)

  • 介面: GUI
  • 輸出: 顏色標記差異處。可輸出比較檔案(選單: File -> Print)
  • 比較檔案: 可比較萬國碼的檔案。 Icon_exclaim.gif 中文與數字夾雜時,數字位置有跑掉
  • 比較資料夾: 可
  • 大檔案比較:

Free Online File Compare Utility (access: 20090127)

Compare Folders on the Mac App Store Version: 1.1.9

  • 介面: GUI , shareware (Using BC with Command line scripting - Scooter Forums)
  • 檔案比較: 無,需要額外付費購買 File Checksums
  • 輸出:
  • 比較資料夾: 可 Icon_exclaim.gif 資料夾內的檔案如果內容相同、時間不同,會視為兩個不同資料夾。
  • 大檔案比較:
  • OS: Mac icon_os_mac.png

Visual Merge and Diff Tools: P4Merge | Perforce v. 2014.1/827578 for Mac icon_os_mac.png

  • 中文 ok

SourceGear | DiffMerge v. 4.2.0.697 for Win Os windows.png , Mac icon_os_mac.png

  • Icon_exclaim.gif 無法選擇編碼,中文UTF-8編碼的純文字檔變成亂碼 (Mac icon_os_mac.png 上測試)


DiffNow - Compare files online. Powered by ExamDiff Pro. 線上服務。介紹: DiffNow 線上文字檔/原始碼差異比較工具 [Last visited: 2016-03-31]

  • 介面: GUI
  • 輸出: html
  • unicode support: ?

Linux diff command: 每天一個Linux指令- diff 指令(比較文件內容的差異 工具) @ jashliao的部落格 :: 痞客邦 PIXNET ::

  • 介面: console
  • 輸出:
  • unicode support: ok
  • 大檔案比較: 超過 900MB 會沒有反應一陣子,超過數分鐘後手動中斷

Shareware

Beyond Compare v3.0 - The file compare, folder compare and remote directory compare utility from Scooter Software, ShareWare

  • 介面: GUI , shareware (Using BC with Command line scripting - Scooter Forums)
  • 輸出: 可輸出比較檔案 (選單列: Session --> Text compare report) Unicode 檔案ok
  • 比較資料夾: 可 Icon_exclaim.gif 資料夾內的檔案如果內容相同、時間不同,會視為兩個不同資料夾。
  • 大檔案比較: 超過 5MB 的檔案反應速度快 Good.gif
  • OS: Win Os windows.png & Mac icon_os_mac.png

Total Commander 7.56a

  • 介面: GUI
  • 輸出: 顏色標記差異處, 不可輸出比較檔案
  • 比較檔案(選單列: Files -->Compare by content)
    • 比較萬國碼的檔案(unicode support): Unicode檔案變成亂碼 Icon_exclaim.gif
    • 標示行內差異的行內文字: 否
  • 比較資料夾: 可 (選單列: Commands --> Synchronize Dirs 再點選Compare, 建議勾選by content)
  • 大檔案比較:
  • OS: Win Os windows.png

UltraCompare v.8

  • 介面: GUI, shareware
  • 輸出: 顏色標記差異處, 不可輸出比較檔案
  • 比較檔案
    • 比較萬國碼的檔案(unicode support): 可
    • 標示行內差異的行內文字: 可 Good.gif
  • 比較資料夾: 可
  • 大檔案比較:
  • OS: Win Os windows.png & Mac icon_os_mac.png

Compare++ - Structured file compare and merge tool v.1.7.2.x

  • 介面: GUI
  • 輸出: 可輸出比較檔案 (選單列: File --> Report)
  • 比較檔案
    • 比較萬國碼的檔案(unicode support): 可
    • 標示行內差異的行內文字: 可 Good.gif
  • 比較資料夾: 可
  • 大檔案比較:
  • OS: Win Os windows.png

Kaleidoscope — File comparison for Mac 免費試用 14 天

  • 介面: GUI
  • 輸出: 無
  • 比較資料夾: 可 Good.gif 資料夾內的檔案如果內容相同、時間不同,會視為相同 。
  • 大檔案比較: 超過 5MB 的檔案比較超過一分鐘 Icon_exclaim.gif
  • OS: Mac icon_os_mac.png

Other shareware:

Dropbox + diff tools

Icon_exclaim.gif Dropbox 需要切換成英文介面(在 Dropbox 客戶端軟體設定),中文介面會導致 DropboxDiff 遇到檔案亂碼問題 (2013-04-29)

Supported diff tools quoted from official

"%ProgramFiles%\TortoiseSVN\bin\TortoiseMerge.exe"
"%ProgramFiles%\KDiff3\kdiff3.exe"
bash -c '"$HOME/bin/tkdiff" $1 $2'

---------
tested:
---------
"%ProgramFiles%\Beyond Compare 3\BCompare.exe"


編輯器設定

為了方便 diff ,使用 4 個 space 取代 Tab 按鍵[2]

ex: Sublime Text v.2[3] Menu -> Preferences -> Settings - User

{
    "tab_size": 4,
    "translate_tabs_to_spaces": true
}


further reading

references

  1. How To Compare Two Text Files Using Notepad++
  2. Indentation Settings - Sublime Text 2 Documentation