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

时间:2017-12-30 14:10:10

标签: linux bash unix console

我的字符串看起来像这样:

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

2 个答案:

答案 0 :(得分:1)

使用grep等额外工具首先提取数字:

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

答案 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