什麼是文件比對?
文件比對工具會醒目標示兩份文字文件之間的每一處新增、刪除和修改。貼上原始文字和修訂文字,即可取得清楚的並排或統一差異檢視。它適用於合約、程式碼或任何需要核對的書面內容。
比對使用 Myers 差異演算法,也就是 git diff 採用的同一套引擎。處理段落或程式碼區塊時選行級粒度;只改了一句話就用詞級粒度;想抓出某個字母拼錯或一個多餘標點,就選字元級粒度。結果可以並排顯示,也可以統一內聯展示,新增標綠、刪除標紅。交換按鈕能對調兩邊輸入,文字檔可以直接上傳到任一面板,差異可以匯出為純文字,或匯出成帶樣式的 HTML 報告直接寄給審閱者。
使用方法
- 將原始文字貼到左側面板,將修訂版本貼到右側面板。
- 點擊「比對」查看以顏色醒目標示的差異:綠色表示新增,紅色表示刪除,黃色表示修改。
- 在並排檢視和統一檢視之間切換。複製差異摘要或將其匯出為 HTML 報告。
何時使用
- 比對兩版合約,抓出條款裡被悄悄改寫的措辭。
- 在沒有 GitHub 的環境裡,把程式碼補丁和原檔比對。
- 查看法務退回的行銷稿到底改了哪些地方。
結果
法務團隊貼上兩份合約草案後,立即發現第 4.2 條被重新措辭且第 7 節被完全刪除——節省了數小時的人工閱讀時間。
常見問題
- 行級、詞級和字元級粒度有什麼差別?
- 行級把每個換行視為一個單位,顯示整行的新增或刪除,掃讀程式碼和表格最快。詞級把文字切成詞,只突顯真正變動的最小片段,修改散文時較清晰。字元級更細,會標出單個變動的字母,因此一處拼字錯誤或一個調換的逗號都很明顯。字元級結果在統一內聯檢視中呈現,因為逐字母的並排版面會難以閱讀。
- 比對時會忽略空白的差異嗎?
- 可以,只要你需要。開啟「忽略空白」後,行首和行尾的空格、定位字元就不再算作差異,檔案被重新格式化或重新縮排時特別好用。另外還有「忽略大小寫」開關,讓僅大小寫的變化不再顯示為變動。兩者預設都關閉,所以一般比對仍會按原樣對待每一個空格和字母。
- 可以比對像 50 頁合約那麼長的文件嗎?
- 可以。長文件依然流暢,因為「摺疊未變動」選項(預設開啟)會隱藏相同的段落,只顯示每處變動周圍的幾行,所以一份只改了幾處的 50 頁合約也只繪製寥寥數行。當行數超過約 10000 行且大多互不相同時仍會變慢,因為每個變動片段都得繪製;遇到這種情況,可以按章節拆分文字、分段比對,或改用支援串流輸出的桌面工具。
- 匯出的 HTML 報告長什麼樣?
- 一個自帶 CSS 的 HTML 檔,頂部顯示新增和刪除的數量,下方是完整差異並有彩色背景。任何瀏覽器都能直接開啟,可以郵件寄出或附在工單裡而不會掉格式。
- 按下「比較」時文字會被上傳到哪裡嗎?
- 不會。兩個輸入面板和差異運算全都留在你的分頁裡。比對用的程式庫隨頁面載入一次,直接處理你輸入的文字。關閉分頁後內容就消失。