Bash 从Jira创建的bitbucket分支提取版本号
我正在使用Jira为发布创建一个bitbucket分支。作为构建过程的一部分,我需要从分支名称中提取版本号 构建的早期部分将整个分支名称转储到文本文件中。我遇到的问题是删除版本号之前的所有文本 分支名称示例如下:Bash 从Jira创建的bitbucket分支提取版本号,bash,sed,Bash,Sed,我正在使用Jira为发布创建一个bitbucket分支。作为构建过程的一部分,我需要从分支名称中提取版本号 构建的早期部分将整个分支名称转储到文本文件中。我遇到的问题是删除版本号之前的所有文本 分支名称示例如下: release/some-jira-ticket-343-X.X.X 其中X.X.X是版本号,例如1.11.1(每个X可以是任意长度整数) 我的第一个想法是直接用sed选择最后3个字符,但是由于X可以是任意长度,这是行不通的 另一篇帖子()建议使用sed alpha类。但是,这将不起
release/some-jira-ticket-343-X.X.X
其中X.X.X是版本号,例如1.11.1(每个X可以是任意长度整数)
我的第一个想法是直接用sed选择最后3个字符,但是由于X可以是任意长度,这是行不通的
另一篇帖子()建议使用sed alpha类。但是,这将不起作用,因为jira票证ID将包含数字
有什么想法吗?您可以删除直到最后一个
-
为止的所有字符:
$ sed 's/.*-//' <<< "release/some-jira-ticket-343-1.11.2"
1.11.2
您可以删除直到最后一个
-
为止的所有字符:
$ sed 's/.*-//' <<< "release/some-jira-ticket-343-1.11.2"
1.11.2
Awk解决方案:
awk -F [-.] '{ print $5"."$6"."$7 }' <<< "release/some-jira-ticket-343-12.4.7"
12.4.7
awk-F[-.]'{print$5.'$6.'$7}'awk解决方案:
awk -F [-.] '{ print $5"."$6"."$7 }' <<< "release/some-jira-ticket-343-12.4.7"
12.4.7
awk-F[-.]{print$5.”“$6.”“$7}”awk
solution
$ awk -F- '{print $NF}' <<< "release/some-jira-ticket-343-1.11.1"
grep -oP '[0-9]-\K.*' <<< "release/some-jira-ticket-343-1.11.1"
awk
解决方案
$ awk -F- '{print $NF}' <<< "release/some-jira-ticket-343-1.11.1"
grep -oP '[0-9]-\K.*' <<< "release/some-jira-ticket-343-1.11.1"
使用字符串运算符:
var="release/some-jira-ticket-343-2.155.7"
echo ${var##*-}
打印:
2.155.7
使用字符串运算符:
var="release/some-jira-ticket-343-2.155.7"
echo ${var##*-}
打印:
2.155.7