我正在使用特定模式在 Git 中处理我的提交消息,以简化为新版本创建变更日志(https://stackoverflow.com/a/5151123/520162)。
应纳入我的变更日志的每个更改都以CHG
,NEW
或为前缀FIX
。
在生成我的变更日志时,我打印出我要为每个版本使用以下命令解析的版本:
git show --quiet --date=short --pretty=format:"%cd %an %s%n%n%w(100,21,21)%b%n" $CURRENTREVISION
主题 ( %s
) 包含修改的主题。
接下来,我使用 SED 修改生成的输出,以使其符合我的变更日志文件的需要。
现在,碰巧在主题行中,多次出现CHG
,NEW
或FIX
。我的主题输出如下所示:
DATE NAME FIX first change NEW second change CHG third change
我想在我的关键字的第一次出现之前添加一个换行符,以便每个CHG
,NEW
或FIX
开始一个新行:
DATE NAME FIX first change
NEW second change
CHG third change
为了实现这一目标,我必须告诉 SED 什么?