GMTで使うbashの小技

Table of Content

GMTのスクリプトを書くときに役に立つ(かもしれない)bashの小技を備忘録として書き留めていきます.

引数を実数値として計算処理する

例えば,x軸の描画範囲をxminとxmaxとして引数$1と$2から読み込み,その真ん中の位置に文字を入れたいとき,x50=(xmin+xmax)×0.5が必要になります.これは次の様に計算式をbcコマンドにパイプして実現できます.

[cc]
xmin=$1; ymin=$2 # 引数の読み込み このときxminとxmaxは文字列であることに注意
x50=`echo "($xmin +$xmax) * 0.5" | bc` # ちょうど真ん中50%の位置
x10=`echo "($xmin + ($xmax - $xmin) * 0.1" | mc` # 10%の位置
[/cc]

引数を整数として計算処理する

上と似ていますが実数ではなく整数の場合です.exprコマンドを使います.かけ算の*だけはエスケープする必要があります.

[cc]
a=1; b=2
c="$(expr $a + $b)" #=> c=3
d="$(expr $a '*' $b)" #=> d=2
[/cc]

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください