[英]How can I make awk not use scientific notation when printing small values?
[英]How do I get non-scientific notation from 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顯示正常數字而不是科學計數法?
我在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()
將其運行,該輸出將其作為非科學計數法數字輸出,僅在小數點后一位。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.