以下命令在控制台上输出以下文本行
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(-)
我有兴趣让上述格式像这样显示
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
这将在一些可以解析分号分隔值的报告中使用。问题是文本"\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 log 文档,但找不到任何可以帮助我以这种格式呈现的格式。我想出的最好的是上面提到的命令。
因此,任何可以生成预期格式的命令或 shell 脚本都会有很大帮助。
谢谢!