2016-11-27 1 views
0

Je veux obtenir la liste de tous les caractères, qui ont été utilisés pour changer les fichiers dans le répertoire.diff git, obtenir seulement les caractères changés

Le plus proche je suis arrivé à ce problème a été utilisé:

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

En utilisant cette commande, je reçois des lignes avec des personnages mis en évidence, qui ont été modifiés. Y at-il un moyen de sed/grep/awk la sortie, de sorte que la sortie sera seulement les caractères colorés?

Répondre

0
git diff --color | awk '/^\33\[3[12]m/' 
  1. Utilisez --color afin que les couleurs sont passées à Awk

  2. lignes vertes vont commencer par la séquence d'échappement \33[32m

  3. Les lignes rouges commenceront par la séquence d'échappement \33[31m

Example