Py学习  »  Git

在macos上使用sed替换git日志中的名称(对于gource)

Emile Claassens • 5 年前 • 623 次点击  

我正试着制作一个关于我们的软件开发项目的很好的视频使用 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”部分,所以我需要做一个模糊搜索并替换整个列。

谁能帮我找到正确的正则表达式?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/48465
 
623 次点击  
文章 [ 3 ]  |  最新文章 5 年前