【发布时间】:2017-12-30 14:10:10
【问题描述】:
我的字符串看起来像这样:
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
【问题讨论】:
我的字符串看起来像这样:
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
【问题讨论】:
先使用grep之类的额外工具提取数字:
NUMS=($(grep -Eo '[0-9]+(\.[0-9]+)?' <<<"${example}"))
A=${NUMS[0]}
B=${NUMS[1]}
【讨论】:
bash 的另一种方式
example="bla bla bla (m=100, number of steps=1.05)"
var=(${example//[^0-9 \.]})
for i in ${var[@]};do
echo $i
done
【讨论】:
example="123aaa456bbb789