Grep

diff 僅顯示已更改文件中的添加內容

  • November 14, 2021

通常diff和分別用和git diff顯示原始行和修改行。有什麼辦法,我可以過濾只看到修改後的行嗎?這將立即將要讀取的行數減少 2 倍。-``+

我假設

git diff test.yml | grep '^+' | less -R

git diff test.yml | egrep '^+' | less -R

得到相同的結果。即他們會在文件中顯示任何新添加的內容。但是egrep向我展示了整個文件。為什麼呢?

無論如何,使用上述方法,我會失去顏色。有什麼辦法可以保持顏色嗎?

您可以使用將和行與使用紅色/綠色文本突出顯示的更改一起--word-diff壓縮,並停止使用 grep。+``-

在此處輸入圖像描述

-U0如果你真的想進一步壓縮它,你可以將它與刪除差異周圍的所有上下文相結合。

在此處輸入圖像描述

這種方法比使用 grep 更好,因為您不會失去輸出,您可以判斷何時添加或更改了一行,並且您不會完全失去刪除,同時仍將輸出壓縮為易於閱讀的內容。

@Stephen Kitt在這裡已經回答了有關 egrep 的問題的答案

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