You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Groovy中如何为git tag列表的每行版本号后添加逗号?

解决方案

方案1:Shell层直接处理

使用sed命令仅为除最后一行外的所有行末尾添加逗号,既保留每行单独输出的格式,也不会在最后一个版本号后多余加逗号:

def tagversion = sh(script:""" git tag --sort=v:refname | sed '\$!s/\$/,/' """, returnStdout:true).trim()

命令逻辑说明:

  • \$! 表示匹配除最后一行之外的所有行(Groovy字符串中$为特殊字符需要转义,因此写作\$)
  • s/\$/,/ 表示在行尾位置追加逗号

方案2:Groovy层处理(适配复杂场景更灵活)

先拿到原始换行分隔的标签列表,在Groovy代码中做字符串处理,逻辑可控度更高:

// 先获取原始标签列表
def rawTags = sh(script:""" git tag --sort=v:refname """, returnStdout:true).trim()
// 按换行分割为标签数组
def tagList = rawTags.split('\n')
// 遍历处理:前N-1个元素末尾加逗号,最后一个元素保持不变,再用换行拼接
def processedTags = tagList.indexed().collect { index, tag ->
    index == tagList.size() - 1 ? tag : "${tag},"
}.join('\n')

最终processedTags变量存储的就是符合要求的输出内容。

内容的提问来源于stack exchange,提问作者user2995458

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 23:15:04