GMTで使うbashの小技
Table of Contents
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]