Bash git diff,仅获取更改的字符

Bash git diff,仅获取更改的字符,bash,parsing,awk,sed,git-diff,Bash,Parsing,Awk,Sed,Git Diff,我想获得所有字符的列表,这些字符用于更改目录中的文件 我最接近这个问题的方法是使用: git diff --color-words="[^[:space:]]|([[:alnum:]]|UTF_8_GUARD)+" --no-index ./original_directory/ ./changed_directory/ 通过使用这个命令,我得到了带有高亮显示字符的行,这些字符已被更改。有没有办法对输出进行sed/grep/awk处理,以便输出的只是彩色字符 git diff --color

我想获得所有字符的列表,这些字符用于更改目录中的文件

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

git diff --color-words="[^[:space:]]|([[:alnum:]]|UTF_8_GUARD)+"
--no-index ./original_directory/ ./changed_directory/
通过使用这个命令,我得到了带有高亮显示字符的行,这些字符已被更改。有没有办法对输出进行sed/grep/awk处理,以便输出的只是彩色字符

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

  • 绿线将以转义序列开始
    \33[32m

  • 红线将以转义序列
    \33[31m

  • 使用
    --color
    将颜色传递给Awk

  • 绿线将以转义序列开始
    \33[32m

  • 红线将以转义序列
    \33[31m


  • 工作得很好,为我节省了很多时间,谢谢你,为我节省了很多时间,谢谢