相关疑难解决方法(0)

如何在一行中获得短统计的Git日志?

以下命令在控制台上输出以下文本行

git log --pretty=format:"%h;%ai;%s" --shortstat
ed6e0ab;2014-01-07 16:32:39 +0530;Foo
 3 files changed, 14 insertions(+), 13 deletions(-)

cdfbb10;2014-01-07 14:59:48 +0530;Bar
 1 file changed, 21 insertions(+)

5fde3e1;2014-01-06 17:26:40 +0530;Merge Baz
772b277;2014-01-06 17:09:42 +0530;Qux
 7 files changed, 72 insertions(+), 7 deletions(-)
Run Code Online (Sandbox Code Playgroud)

我有兴趣让上面的格式像这样显示

ed6e0ab;2014-01-07 16:32:39 +0530;Foo;3;14;13
cdfbb10;2014-01-07 14:59:48 +0530;Bar;1;21;0
5fde3e1;2014-01-06 17:26:40 +0530;Merge Baz;0;0;0
772b277;2014-01-06 17:09:42 +0530;Qux;7;72;7
Run Code Online (Sandbox Code Playgroud)

这将在某些报告中使用,该报告可以解析以分号分隔的值.事情是文本"\n 3 files changed, 14 insertions(+), 13 deletions(-)"(包括新行)被转换为3;14;13(没有新行)一个可能的角落案例是文本"5fde3e1;2014-01-06 17:26:40 +0530;Merge Baz",其中没有这样的行.在那种情况下我想要;0;0;0

总体而言,目标是分析一段时间内的文件更改统计信息.我阅读了git日志文档,但找不到任何可以帮助我以这种格式呈现的格式.我提出的最好的是上面提到的命令.

因此,任何可以生成预期格式的命令或shell脚本都会有很大帮助.

谢谢!

git shell text-processing text-manipulation git-log

22
推荐指数
5
解决办法
8116
查看次数

标签 统计

git ×1

git-log ×1

shell ×1

text-manipulation ×1

text-processing ×1