シェルスクリプトでsprintfのようなことをする
僕はシェルスクリプトを触ったことがほぼないのですが、C言語でいうsprintfのようなことをしたくて手間取ったのでメモです。シェルはbashです。
シェルスクリプトでprintfのようなことをするにはprintfコマンドを使って下記のようにします。
value=1 printf "aaa%03d\n" $value
今回は整形済みの結果を変数に代入したかったので、sprintfのようなものはないのかと思って探しました。結果的には、下記のようにしてprintfコマンドの結果を代入することでsprintfのようなことができました。
value=1 result=$(printf "aaa%03d" $value)
シェルスクリプトの文法を知っていれば当たり前なのでしょうが、「シェルスクリプト sprintf」などのキーワードからこの書き方を検索するのが結構大変だったので。