seqコマンドのゼロサプレスなし(ゼロ抑制なし=先頭に0を付ける)のやり方を度々忘れるので備忘録として書いておく。
まず普通にseq。(便宜上INCREMENT=50にしてる)
$ seq 1 50 101
1
51
101
桁合わせに0を入れたいなら単純に-wオプションでOK。
$ seq -w 1 50 101
001
051
101
seqコマンドには-fというprintfと同様の書式が使えるオプションが用意されているのでこれを使う手もある。ただしオプション説明に“use printf style floating-point FORMAT”とあるのであくまでも浮動小数関連フォーマット指定になる。つまり%02gはOKだけど%02dはダメ。
ゼロサプレスなしの最低二桁。
$ seq -f %02g 1 50 101
01
51
101
ゼロサプレスなしの三桁。
$ seq -f %03g 1 50 101
001
051
101
ゼロサプレスなしの四桁。
$ seq -f %04g 1 50 101
0001
0051
0101