powershell select-string保留git log的格式

时间:2015-01-12 16:55:13

标签: git powershell formatting git-log

通过选择字符串传输时,是否可以保留字符串的格式(特别是颜色)?

我正在使用select-string在git日志中查找具有特定标记的条目,这些条目已经使用一些漂亮的颜色进行了格式化。不幸的是,在这个过程中颜色会丢失,我得到的东西看起来像是非打印控制字符。即使在match-info对象的“line”属性中也会发生这种情况。

我已将git日志的输出传送到Get-Member,它似乎是一个vanilla System.String。

特详情: (可能不重要,但你永远不能告诉)

powershell v4

git 1.9.5

格式化的git log命令是:

git log --color --graph --pretty=format:'%C(cyan)%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit

我隐约意识到我可以用git log开关做类似的事情,我正在研究这个问题,但是对于这个问题,假设我仍然需要通过powershell命令管道输出来保持颜色。 / p>

修改

Mangled输出看起来像这样(略微消毒)。不幸的是,unicode字符无法通过电子邮件发送有问题的系统。

* [0123abc[m -[33m (tag: build-1.0.3730)[m Some Comment [32m(5 hours ago) [1;34m<Author Name>[m
* [0123xyz[m -[33m[m Some other comment [32m(6 hours ago) [1;34m<Author Name>[m

根据www.babelstone.co.uk/Unicode/whatisit.html,输出中有一个控制(转义)字符,代码点为U + 001B,紧接在前一个示例中的每个左方括号前面,但是这些字符被删除了通过电子邮件客户端。

0 个答案:

没有答案