Shell命令将特定文本(模式)移动到其他列

时间:2018-04-24 17:54:52

标签: git shell github

我已将git日志数据导出为CSV,但修改后的文件不是占位符的一部分

例如:

git log --after=date --pretty=format:%ad,%s,%H,%ae,%an,%b --name-only

我能够以CSV格式获取正确的数据,但文件存在于下一行而不是最后根据需要

当前输出

Thu Apr 19 13:35:51 2018 +0000  books author  cr : xyz@ 625d76807af57776bc94e36627f352e92e00eb01    mike@mike.com   Mike    cr https://reviews/CR-1346

configuration/data/feeds/xmlcoverage/xyz.txt                    
configuration/data/feeds/xmlcoverage/log/abc.txt        

除了文件名(abc.txt和xyz.txt,其余部分出现在单个单元格中)

是否有文件占位符?
如果没有,我可以将文件移动到CSV中与其他文件相同的行吗?

1 个答案:

答案 0 :(得分:1)

  

是否有文件的占位符?

没有

  

如果没有,我可以将文件移动到CSV中与其他文件相同的行吗?

不是没有解析。而不是解析我建议使用git rev-list + git show构造输出。在你的情况下,它就像

git rev-list -after=date master |
    while read sha1; do
        subject=`git show -s --format='%ad,%s,%H,%ae,%an,%b'`
        files=`git show --format='' --name-only | tr '\n' ' '`
        echo "$subject$files"
    done

这种方法仍然存在问题 - 如果主题(%s)包含逗号怎么办?输出将包含太多逗号。