【问题标题】:How to read numbers into variables from string如何从字符串中将数字读入变量
【发布时间】: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

【问题讨论】:

标签: linux bash unix console


【解决方案1】:

先使用grep之类的额外工具提取数字:

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

【讨论】:

    【解决方案2】:

    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
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-10
    • 2019-08-14
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    相关资源
    最近更新 更多