git diff,只获取更改的字符

时间:2016-11-27 21:34:08

标签: bash parsing awk sed git-diff

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

我最接近这个问题的是:

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

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

1 个答案:

答案 0 :(得分:2)

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

  2. 绿线将以转义序列\33[32m

  3. 开头
  4. 红线将以转义序列\33[31m

  5. 开头

    Example