Если вам нужна раскраска, вам придется сделать что-то уродливое:
$ git diff --color web-app/db/schema.rb |grep '^^[\[32m+
То, что ^[
на самом деле является необработанным escape-символом ( Ctrl + V ESC в bash, ASCII 27).Вы можете использовать cat -v
для определения необходимых escape-последовательностей:
$ git diff --color web-app/db/schema.rb |cat -v
^[[1mdiff --git a/web-app/db/schema.rb b/web-app/db/schema.rb^[[m
^[[1mindex 45451a2..411f6e1 100644^[[m
^[[1m--- a/web-app/db/schema.rb^[[m
^[[1m+++ b/web-app/db/schema.rb^[[m
...
Подобные вещи будут хорошо работать с версиями GNU sed
, awk
, ... YMMV с неВерсии GNU.
Более простым способом было бы переключить раскраску:
$ git diff --no-color file
Но вы можете обменять симпатичный вывод на немного некрасивые регулярные выражения.