In Groovy - 如何在 git 标签列表中添加逗号?
In Groovy - How to add comma in git tag list?
我在回购上做 git 标记并低于输出。
命令
def tagversion = sh(script:""" git tag --sort=v:refname """, returnStdout:true).trim()
输出:-
1.0
1.10.0
1.11.0
1.6
1.7
1.7.1
如何在每个版本后添加逗号?
预期输出
1.0,
1.10.0,
1.11.0,
1.6,
1.7,
1.7.1
我试过下面的代码,但在最后一个版本中也添加了逗号,整个列表显示为单个字符串。
sh(script:""" git tag --sort=v:refname | tr '\n' ',' """, returnStdout:true).trim()
sh
returns 你一个字符串,readLines()
会把它拆分成一个数组,join
会用一些分隔符把它放回字符串
sh(...).trim().readLines().join(',\n')
如果您是shell剧本的粉丝:
stage('Test') {
steps { script {
def tagversion = sh(script:''' git tag --sort=v:refname | awk '{printf "%s%s",SEP,[=10=];SEP=", "}END{print ""}' | tr ' ' '\n' ''', returnStdout:true).trim()
echo tagversion
}}
}
取自@daggett 的回答,其中有一个轻微的转义字符错误:
stage('Test') {
steps { script {
def tagversion = sh(script:''' git tag --sort=v:refname ''', returnStdout:true).trim().readLines().join(',\n')
echo tagversion
}}
}
我在回购上做 git 标记并低于输出。
命令
def tagversion = sh(script:""" git tag --sort=v:refname """, returnStdout:true).trim()
输出:-
1.0
1.10.0
1.11.0
1.6
1.7
1.7.1
如何在每个版本后添加逗号?
预期输出
1.0,
1.10.0,
1.11.0,
1.6,
1.7,
1.7.1
我试过下面的代码,但在最后一个版本中也添加了逗号,整个列表显示为单个字符串。
sh(script:""" git tag --sort=v:refname | tr '\n' ',' """, returnStdout:true).trim()
sh
returns 你一个字符串,readLines()
会把它拆分成一个数组,join
会用一些分隔符把它放回字符串
sh(...).trim().readLines().join(',\n')
如果您是shell剧本的粉丝:
stage('Test') {
steps { script {
def tagversion = sh(script:''' git tag --sort=v:refname | awk '{printf "%s%s",SEP,[=10=];SEP=", "}END{print ""}' | tr ' ' '\n' ''', returnStdout:true).trim()
echo tagversion
}}
}
取自@daggett 的回答,其中有一个轻微的转义字符错误:
stage('Test') {
steps { script {
def tagversion = sh(script:''' git tag --sort=v:refname ''', returnStdout:true).trim().readLines().join(',\n')
echo tagversion
}}
}