- 1
- 2
- 3
- 4
- 5
FPOINT=$1
test ${FPOINT:12:2} = "e-" && echo 0 && exit 0
FPOINT=$1 ; FPOINT=${FPOINT/,/.}
MANT=${FPOINT//e*/} ; EXP=${FPOINT:((${#FPOINT}-2)):2} ;
echo "define i(x) {auto s;s=scale;scale=0;x/=1;scale=s;return(x);} ; i(${MANT}*10^${EXP})" | bc
rrdtool хранит и что самое противное выводит при запросе данные в формате с плавающей запятой, том самом который выглядит так: 1.2345678901e+09
а баш в свою очередь не умеет работать с float, так что для коекакой работы с этими базами на баше пришлось написать такую функцию.
Учитывая что у меня только положительные значения, пока ошибок не было.
eth0 12.10.2012 19:16 # +1
WGH 13.10.2012 15:18 # +3
Почему бы не переписать скрипт на, скажем, перле? Зачем так надрываться?
guest 19.10.2012 17:46 # +1
1234567890
# echo $BASH_VERSION
4.1.2(1)-release