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

如何从指定格式的rzp前缀压缩包文件名中提取release版本值?

问题原因

你原有sed命令出错的核心问题是正则规则里包含了[:digit:]数字匹配项,会将目标串开头的数字也纳入前缀匹配范围一起删除,因此无法得到正确结果。

可行解决方案

方案1:修改sed匹配规则(通用场景)

直接匹配文件名前两段-分隔的前缀并删除,适配所有你给出的命名格式:

echo "$fl_name" | sed 's/^[^-]*-[^-]*-//'

规则说明:

  • ^[^-]* 匹配从开头到第一个-的所有非-字符
  • 连续两次匹配后即可删除前两段前缀,剩余内容就是你需要的目标串

方案2:Bash原生参数扩展(无外部依赖,性能最优)

不需要调用管道和外部命令,直接用bash内置变量处理:

result="${fl_name#*-*-}"

直接输出$result即可得到目标值。

方案3:cut命令实现(写法最简单)

用-作为分隔符,取第3个字段及之后的所有内容拼接输出:

echo "$fl_name" | cut -d'-' -f3-

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 18:54:05