将字符串解析为浮点数数组

Che*_*ang 0 bash parsing

我希望在BASH中创建一个浮点数数组(称为b),通过解析以下变量给出数组的内容adse:

echo $adse
16.92 18.29 19.18 20.87 2.78 2.88 2.77 2.83 2.80 2.78 2.73 2.73 2.75 2.93 2.91 2.93 2.77 4.64 2.67 3.01 6.78
Run Code Online (Sandbox Code Playgroud)

所以b [1] = 16.92; B [2] = 18.29 .....

我怎样才能做到这一点?

Win*_*ute 5

b=($adse)
Run Code Online (Sandbox Code Playgroud)

你得到一个bash数组b.可以使用单个参数进行访问${b[index]}.指数从零开始,因此第一个元素是${b[0]}.

但请注意,您会发现很难在bash中对这些值进行任何操作.使用支持浮点计算的脚本语言(如Perl或Python)可能是个好主意.

有关bash数组的更深入讨论,请参阅此链接.