git diff,只获取更改后的字符

git diff, getting just the changed characters

我想获取用于更改目录中文件的所有字符的列表。

我最接近这个问题的是使用:

git diff --color-words="[^[:space:]]|([[:alnum:]]|UTF_8_GUARD)+"
--no-index ./original_directory/ ./changed_directory/

通过使用此命令,我得到了带有突出显示字符的行,这些字符已更改。有没有办法 sed/grep/awk 输出,这样输出就只是彩色字符?

git diff --color | awk '/^\[3[12]m/'
  1. 使用--color以便将颜色传递给 Awk

  2. 绿线将以转义序列开始 [32m

  3. 红线将以转义序列开始[31m

Example