2014-07-08 18 views
0

我存儲一些簡單的溫度值在RRDtool的GAUGE:如何從RRDtool獲得非科學記數法?

DS:temperature:GAUGE:600:50:90 

我把所述的值與精度幾小數點tempreatures,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

我以前在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(),輸出它作爲一個非科學的記數法,只有一個數字後小數點後。

+1

只要'printf「%.1f」,$ 2'就夠了,不需要'打印sprintf'。 – fedorqui

+1

聰明。因爲'printf'沒有提供一個,所以隨着一個換行符被編輯。 –