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

如何使用grep提取单行文件中固定键对应的可变版本号数值?

提取单行文件中的版本号解决方案

你的命令执行失败,核心原因是正则表达式和文件名之间缺少空格——grep把带引号的正则和_version.py连在一起当成了搜索模式,自然无法匹配到目标内容。

以下是几种可行的解决方法:

方法一:修正后的grep命令

new_tag=$(grep -Eo '[0-9]+\.[0-9]+\.[0-9]+' _version.py)
  • -E:启用扩展正则表达式,支持+这类量词
  • -o:只输出匹配到的内容,而不是整行
  • 注意正则表达式和文件名_version.py之间必须有空格

方法二:用awk直接提取双引号内内容

如果文件只有__version__="x.x.x"这一行,用awk可以更简单地提取:

new_tag=$(awk -F'"' '{print $2}' _version.py)

以双引号作为分隔符,直接取第二个字段,不需要关心版本号的具体数字格式。

方法三:用sed精准匹配替换

new_tag=$(sed 's/^__version__="\([0-9]\+\.[0-9]\+\.[0-9]\+\)"$/\1/' _version.py)

通过正则捕获双引号内的版本号部分,替换整行为捕获到的内容,输出结果就是版本号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 12:05:27