【Linux】小数の計算方法 bcコマンド
Linux上でファイルサイズをバイトからMBに変換するために計算するんだけど
小さい数字だと0になってしまうので、少数点も表示したいなぁと思い何かいい方法がないかと探したところ、【bc】コマンドを利用できればいいことが分かったけど、さらに0以下の場合【0.xx】の表示ではなく【.xx】の表示になってしまったのでその対処方法も一緒にメモ
■通常
[root@]# echo $*1
0
■小数第二位まで表示 ※scaleで第何位まで表示するか指定し、bcコマンドに渡す
[root@]# echo "scale=2; 1/2" | bc
.50
■頭に0をつくように、sedコマンドで最初に【.】がついた場合【0.】に置換する
[root@]# echo "scale=2; 1/2" | bc | sed 's/^\./0./'
0.50
■さらに【MB】も一緒に表示したいとき
[root@]# echo "scale=2; 1/2" | bc | sed 's/^\./0./' | awk '{print ""$1" MB"}'
もっといい方法があればいいんだけど。。。*2