我有一个程序以科学的python格式给我结果,如下所示:
10.0889E-002
例如。
我想使用grep命令(或awk)来提取此结果,但我找不到正确对待这个“E-002”的方法。相应的结果WITHOUT E-002(但要考虑它)将存储在变量中,以便我可以使用其他变量和数字进行所有类型的操作。
我认为我显然应该更好地使用python,但我现在正在寻找一个快速而肮脏的解决方案。
示例:
假设我有一个文件名只有一行包含:
10.0889E-002
或带有这种表示法的任何数字。
我想把它变成bash中的一个变量,但没有十符号的力量。在myfile.sh中:
a=`grep '' filename | awk '{print $1}'`
但这并没有考虑E-002,所以我可以用我的变量a进行各种操作。
答案 0 :(得分:2)
使用printf
$ printf "%f\n" 10.0889E-002
0.100889
答案 1 :(得分:2)
awk
可以解释得很好:
$ echo '10.0889E-002' | awk '{ print $1+0 }'
> 0.100889
答案 2 :(得分:-1)
像
这样的东西-?\d*\.?\d+[eE]?-?\d*