http://linuxjm.sourceforge.jp/html/gnumaniak/man1/seq.1.html
http://at-aka.blogspot.jp/2006/11/seq-0-padding.html
seq(1) ってコマンドラインから連番を作るときにとても便利だ。ただ、この値を0埋めしたいときがある。
その場合は -w オプションを付けろといろんなブログに書いてある。以下のような具合だ。
1 2 3 4 5 6 7 8 9 10 11 |
|
けど、これは指定する最大値が二桁以上の場合だ。上記の 10 を一桁の値、たとえば 5 に変えるとうまくいかなくなる。
1 2 3 4 5 6 |
|
これは -w オプションが最大の桁数に合わせて0埋めするためだ。だから、以下のようにすると同じように通用する。
1 2 3 4 5 6 |
|
最初 -f オプションでフォーマットしようかと思ったのだけど、printf の %d を指定すると以下のように怒られる。
これは、数値を内部的に浮動小数点で扱っているためだった。 マニュアル にもしっかり書いてある。
1 2 |
|
なので、g を指定してあげるとちゃんとうまくいく。
1 2 3 4 5 6 |
|
まあ、以下が一番スマートかなー、と思う次第(*´〜`)
1 2 3 4 5 6 |
|