harumaki.net

インフラ屋の覚書や、ラーメン食べある記とか。

command GNU/Linux メモ

浮動小数点の計算(zsh)

投稿日:2010年12月2日

たまにしかやらないことはすぐに忘れちゃうので、メモです。

浮動小数点(0.2とか、小数点での計算)はbashではできないため、zshを利用。
以下、バックアップデータの増分を計算するスクリプトを作成。

スクリプト例1

整数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

例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は使用できない)

浮動小数点の計算に関する注意事項 †

参考:有難うございました!
unoh.github.com シェル(bash)スクリプトを書くときのTips
http://labs.unoh.net/2008/09/bashtips.html

-command, GNU/Linux, メモ

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

no image

lsyncdのエラー修正(監視対象ファイル数の上限値変更)

lsyncdでのバックアップファイルの同期がうまくいってないな~、と思って調べたら、カーネルパラメータ”max_user_watches”の上限値を超えたためlsyncdのプロ …

no image

CentOSにwmiクライアントを入れてみる

何気にLINUX PACKAGE SEARCHでwmi(Windows Management Instrumentation)の RPMパッケージが紹介されていたので、空き時間に入れて試してみる。難易 …

[AWS] EC2からS3へのファイル転送時間をコマンド別に軽くレポート

本日までに試した、EC2→S3へのファイル転送時間をコマンド別にそれぞれ簡単に比較・テストしてみたので、以下にまとめ。 それぞれ5回試してみたうちの、速度がもっとも速かったものを以下に記載。今後の参考 …

[AWS] EC2 HVMタイプを使う時のファイルシステム周りの作業1(容量拡張、growpart利用)

hvmタイプのAMIを使用する際に初期設定として、ファイルシステムの容量拡張が必要になる。 インスタンス作成時にEBSを標準サイズから拡張してセットしても マウントされたストレージサイズが上がるだけで …

no image

ssh 公開鍵認証と公開鍵の登録

▼ssh 公開鍵認証と公開鍵の登録 1)クライアントで公開鍵を生成 2)サーバ側で公開鍵を登録 3)ログインテスト ▼ssh 公開鍵認証と公開鍵の登録 † 作業自体は簡単なんですが ユー …