linuxのシェルコマンドであるseqを使うと簡単に連番を生成できることを知りました。
まずは5から12までの連番を作ってみます。
$ seq 5 12
のように、最初の数字と最後の数字をそれぞれ指定すると、以下のように表示されます。
5 6 7 8 9 10 11 12
次に、5から12まで、3おきの連番を作ってみます。以下のように3つの引数を指定すると、
$ seq 5 3 12
以下のように表示されます。12を超えない最小の数である11までの連番が生成されています。
5 8 11
先頭を0埋めした固定長の連番を生成するには、-f
オプションを使ってフォーマットを指定します。例えば5桁の連番を作りたい場合、
$ seq -f "%05g" 5 3 12
とすると
00005 00008 00011
と表示されます。
-w
オプションを使っても、先頭を0埋めした固定長の連番を生成できます。この場合の桁数は、連番を表現する必要最小の桁数になります。
$ seq -w 5 3 12 05 08 11
seqを使わない方法
(2020-03-01追記) bashやzshだと、seqコマンドの代わりに以下のようにしても連番を生成できます。
$ echo {5..12} 5 6 7 8 9 10 11 12
$ echo {5..12..3} 5 8 11
$ echo {00005..00012..3} 00005 00008 00011