Last Updated on 2013年2月1日 by かんりにん
[pukiwiki]
たまにしかやらないことはすぐに忘れちゃうので、メモです。
浮動小数点(0.2とか、小数点での計算)はbashではできないため、zshを利用。
以下、バックアップデータの増分を計算するスクリプトを作成。
**スクリプト例1 [#jb1e90f2]
整数3734101183ベースに1.000784667で乗算し置換、値が1000000000000になるまで繰り返す。
-スクリプト
#!/bin/zsh
i=3734101183
while [ $i -lt 1000000000000 ]; do
echo “$i”
i=`echo $((i*1.000784667))`
done
-実行例
3734101183
3737031208.9729609
3739963534.0406122
3742898160.0069776
3745835088.677496
3748774321.8590231
3751715861.3598332
3754659708.9896188
…
**スクリプト例2 [#c54a4968]
例1の実行結果をfloating.txtに落とし、値が492256313344になるまで
繰り返し加算していく。
-スクリプト
#!/bin/zsh
i=3734101183
while [ $i -lt 492256313344 ]; do
read line
echo $i
i=`echo $(($i+$line))`
done < floating.txt
-実行例
3734101183
7471132391.9729614
11211095926.013573
14953994086.02055
18699829174.698044
22448603496.557068
…
―参考
加算、減算はexprでも実行出来るが、乗算(掛け算)、除算(割り算)はechoで実行する必要がある(exprは使用できない)
**浮動小数点の計算に関する注意事項 [#q00903e]
参考:有難うございました!
unoh.github.com シェル(bash)スクリプトを書くときのTips
http://labs.unoh.net/2008/09/bashtips.html
[/pukiwiki]