如何从RRDtool获取非科学记数法?

时间:2014-07-08 14:49:05

标签: awk rrdtool

我在RRDtool GAUGE中存储了一些简单的温度值:

DS:temperature:GAUGE:600:50:90

我输入的值是具有几个小数点精度的温度,在50到90之间,如上面的DS所示。当我获取时,RRDtool为我提供了科学(指数)符号的值:

~$ rrdtool fetch tmp/temp.rrd AVERAGE --start 1404784800 --end `date +%s`
1404784800: 7.8472672909e+01
1404786600: 7.6521632364e+01
1404788400: 7.5231260078e+01

如何让RRDtool显示正常数字,而不是科学记数法?

1 个答案:

答案 0 :(得分:1)

我使用awk中的sprintf()函数轻松地将科学记数法重新格式化为正常小数:

~$ rrdtool fetch tmp/temp.rrd AVERAGE --start 1404784800 --end `date +%s`|awk '{printf "%.1f\n", $2;}'
78.5
76.5
75.2

awk命令打印出每一行的第二个值(科学记数法中的温度值)并通过sprintf()运行它,它将其输出为非科学记数,只有一位数小数点后。