exprコマンドは意外に馬鹿にならない。正規表現マッチや文字列の長さなども取れる。 http://ja.doukaku.org/6/に必要なのは数字と非数字の切り分け、整数の乗除算、条件分岐、繰り返し、表示のみ。 というわけでbashで無理矢理書いてみた。 function do-digits () { digit=`expr "$1" : '\([0-9]\+\)'` if [ "$digit" != "" ];then echo -n `expr $digit '*' 21 / 20` rest=`expr "$1" : '[0-9]\+\(.\+\)'` else rest="$1" fi } function do-nondigits () { if [ "$1" != "" ]; then nondigitlen=`expr "$1" : '[^0-9]\+'` len=`exp