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

使用sed从文件指定字符串中提取纯版本号、去除多余后缀的方法咨询

版本号提取命令调整方案

你可以修改sed的正则匹配规则,仅捕获v-后到后续特殊符号前的版本号部分即可,以下是可行方案:

方案1:调整你现有的sed命令

直接修改正则捕获规则,命令如下:

echo str3=https://product.org/v-4.5-bin.zip | sed -n "s/^.*v-\([0-9.]*\).*/\1/p"

规则说明:

  • \([0-9.]*\) 仅捕获v-后连续的数字和小数点组成的版本号部分
  • 末尾的.*会匹配掉-bin.zip等所有剩余内容,最终输出的捕获组1就是纯版本号4.5

方案2:合并grep+sed操作,单命令直接读取文件

不需要单独执行grep,直接用sed处理原文件file.txt即可得到结果:

sed -n "s/^str3=.*v-\([0-9.]*\).*/\1/p" file.txt

通用扩展方案

如果后续版本号可能包含字母等其他非符号字符,可以用匹配非-字符的规则适配:

# 适配v-后到第一个-之前的所有内容为版本号的场景
sed -n "s/^.*v-\([^-]*\).*/\1/p" file.txt

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 05:24:07