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

如何在Shell脚本中将字符串中的数字部分提取到变量中?

提取Shell字符串中的数值部分

针对你的需求,这里有几种简单直接的实现方式:

方法1:使用参数扩展(bash/zsh 原生支持)

利用Shell的参数扩展特性,直接截取最后一个空格后的内容:

STR="ttysggjs364-hhe 1738.98"
NUM=${STR##* }
echo $NUM  # 输出结果:1738.98

${STR##* } 的作用是删除字符串开头到最后一个空格的所有内容,留下的就是目标数值。

方法2:使用cut命令

通过cut按空格分割字符串,提取第二个字段:

STR="ttysggjs364-hhe 1738.98"
NUM=$(echo "$STR" | cut -d' ' -f2)
echo $NUM

-d' ' 指定分隔符为空格,-f2 表示取分割后的第二个字段。

方法3:使用awk命令

awk默认以空白字符分割内容,直接打印第二个字段即可:

STR="ttysggjs364-hhe 1738.98"
NUM=$(echo "$STR" | awk '{print $2}')
echo $NUM

方法4:使用read命令

将字符串拆分到两个变量中,用下划线占位不需要的部分:

STR="ttysggjs364-hhe 1738.98"
read _ NUM <<< "$STR"
echo $NUM

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 14:35:22