bcがない
bashで%計算したい。でも、exprでは整数演算しかできない。
最初に分子を1000倍しておくのもなんだな。
んでもって、この環境にbcはない。
めんどいから、代案を3つ。
- exprで整数演算になるようにして計算する。
- 0から13桁くらいまでの可能性があるので、ちょっとめんどくさい。
- exprを何度も発行することになるので、コスト低くなさそう。
- bc入れる。
- でもソースから管理に追加されるのでめんどくさい。
- python使う。
- なぜか入っている。たかが計算に実行コストが高そうでちょっとな。やってみた。確かに重い。
- 同じ理由でPerlも却下か。
bakさめにawkを使えといわれたよ。mawkは入っている。
awkだと、どのみちroundはないので、
# time echo | awk '{print int((538251735040/743052410880)*100+0.5)}' 72 real 0m0.117s user 0m0.000s sys 0m0.020s
時間コストはまぁまぁだ。
intは整数部しか返さないので、0.5を加えて四捨五入の代わりにする。
awkは何か渡してやらないと動かない... なんかうまい方法あったっけ?
みっともないコードだ。
というか、なんでもとの情報は素直にdu -mhの値を使わないのだ?
こういう実装は素直じゃないと思ったり。
ひねくれているのはどっちだろうか...