如何从字符串中读取数字到变量

问题描述 投票:0回答:2

我有这样的字符串:

user@pc: $ example="bla bla bla (m=100, number of steps=1.05)"

如何将值100和1.05读入两个我之后可以使用的变量?

user@pc: $ echo $A
100
user@pc: $ echo $B
1.05
linux bash unix console
2个回答
1
投票

使用像grep这样的额外工具来首先提取数字:

NUMS=($(grep -Eo '[0-9]+(\.[0-9]+)?' <<<"${example}"))
A=${NUMS[0]}
B=${NUMS[1]}

0
投票

用bash的另一种方式

example="bla bla bla (m=100, number of steps=1.05)"
var=(${example//[^0-9 \.]})
for i in ${var[@]};do
  echo $i
done
© www.soinside.com 2019 - 2024. All rights reserved.