seqコマンドでゼロサプレスなし(先頭0付け)あれこれ

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA