Linuxのseqコマンドを使用することで、規則的に並んだ連番を生成することができます。
seqコマンドは、オプションを説明するよりも実行例を見たほうがわかりやすいので、いくつかの実行例を記載します。
1から10まで表示
数字を指定することで1からその数までの連番を出力します。
seq 10
1
2
3
4
5
6
7
8
9
10
6から10まで表示
パラメータを2つ指定するとそれぞれ、開始番号、終了番号とみなします。
seq 3 10
6
7
8
9
10
2づつ加算して表示
パラメータを2つ指定するとそれぞれ、開始番号、増分値、終了番号とみなします。
seq 1 2 10
1
3
5
7
9
% seq 2 2 10
2
4
6
8
10
複数の数列を順に出力
下記の形で、0,5,10,15
と30,35,45
といった、複数のルールの数列を出力することができます。
echo $(seq 0 5 15) $(seq 30 5 45)
0 5 10 15 30 35 40 45
小数点を表示
seq -w 0 .05 .1
0.00
0.05
0.10
先頭0埋めで表示
出力される数字の中で最大桁数に合わせて0埋めされる
seq -w 2 2 10
02
04
06
08
10
seq -w 0 100 1000
0000
0100
0200
0300
0400
0500
0600
0700
0800
0900
1000
sedと組み合わせて2桁の数字を4桁表示
seq -w 2 2 10 | sed 's/\(.*\)/00\1/'
0002
0004
0006
0008
0010
printfのような形でフォーマット指定する
seq -f 'IMG_%04g.jpg' 2 2 10
IMG_0002.jpg
IMG_0004.jpg
IMG_0006.jpg
IMG_0008.jpg
IMG_0010.jpg
sedと組み合わせて複雑フォーマットで出力する
seq -w 2 2 10 | sed 's@\(.*\)@cp IMG_00\1.jpg even/IMG_\1.jpg@'
cp IMG_0002.jpg even/IMG_02.jpg
cp IMG_0004.jpg even/IMG_04.jpg
cp IMG_0006.jpg even/IMG_06.jpg
cp IMG_0008.jpg even/IMG_08.jpg
cp IMG_0010.jpg even/IMG_10.jpg
seq -w 1 2 10 | sed 's@\(.*\)@cp IMG_00\1.jpg odd/IMG_\1.jpg@'
cp IMG_001.jpg odd/IMG_1.jpg
cp IMG_003.jpg odd/IMG_3.jpg
cp IMG_005.jpg odd/IMG_5.jpg
cp IMG_007.jpg odd/IMG_7.jpg
cp IMG_009.jpg odd/IMG_9.jpg
こちらもおススメ