2017-05-02 43 views
0

我有一個HTML規範的最新版本,和一個較舊的版本。我希望能夠獲得一個HTML文件,顯示舊版和新版規範之間的差異。兩個文本html文件之間的差異

我此刻的策略:

  • 找出如何獲得單詞之間的差異,而不是線
  • 找出如何更換一個diff輸出,也許<span class="addition"><span class="removal">上色不同的補充和清除。

有關如何快速做到這一點的任何想法?

回答

1

git diff具有--word-diff選項:

--word-DIFF [= <模式>]
顯示一個字的diff,使用劃改變的話。默認情況下,單詞由空格分隔;請參閱下面的--word-diff-regex。默認爲普通,並且必須是以下之一:

顏色
僅使用顏色突出顯示已更改的字詞。意味着 - 色彩。

明確
顯示單詞爲[-removed-]和{+添加+}。如果輸入中出現分隔符,則不會嘗試跳過分隔符,因此輸出可能不明確。

瓷器
使用一種專門用於腳本消耗的基於行格式。以通常的統一差異格式打印已添加/已刪除/未更改的運行,以行開頭的+/-/字符開始,並延伸至 行的末尾。輸入中的換行符由一個波浪線代表。


再次禁用字差異。

請注意,儘管使用了第一種模式的名稱,但如果啓用了顏色,則會在所有模式下突出顯示所更改的部分。

你或許可以使用word-diff=plain並直言更換[--]{++}你span標籤,
或使用porcelain模式,其輸出非模棱兩可的輸出格式:
每個輸出線,該第一個字符告訴你該行的其餘部分表示了什麼樣的數據:

  • ~:這是一行的結尾(應該沒有文本也不空間以下的領先~
  • (空間):文本
  • 的不變的塊
  • +:其中加入
  • -文本塊:其刪除
+0

大文本塊理念!你知道如何擺脫'@@ -457,8 +468,9 @@'並讓整個文本代替跳轉代碼嗎? –

+0

'grep'出你不想要的第 – LeGEC

+0

行:你的意思是來自'plain'輸出還是'porcelain'輸出? – LeGEC