我正试着制作一个关于我们的软件开发项目的很好的视频使用
Gource
a可以生成所有回购的组合git日志,其中:
第一
gource --output-custom-log ../logs/repo1.txt
然后
cat *.txt | sort -n > combined.txt
这将生成一个combined.txt文件,该文件是一个以管道分隔的文件,如下所示:
1551272464|John|A|repo1/file1.txt
1551272464|john_doe|A|repo1/folder/file9.py
1551272464|Doe, John|A|repo2/filex.py
所以它是:epoch提交者名称a或d或c提交文件
我要解决的实际问题是,我的开发人员使用了具有不同提交者名称的不同git客户机,因此id希望将他们的所有名称替换为一个版本我不介意每种情况设置多个sed。
所以找“约翰”,“约翰·多伊”和“多伊,约翰”替换为“约翰·多伊”应该在我的macbook上完成。
所以我试着
sed -i -r "s/John/user_john/g" combined.txt
但这里的问题是它找到了“john”和“doe,john”,只替换了“john”部分,所以我需要做一个模糊搜索并替换整个列。
谁能帮我找到正确的正则表达式?