6月 05

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

Leave a Reply

preload preload preload