Linuxコマンドで連番を作成する方法(seq)

Linuxコマンドで連番を作成する方法(seq)

Linux環境で、連番を作成したり、繰り替えし処理などのときに役立つのが「seq」コマンドです。ここでは、seqコマンドの基本的な使い方について紹介します。

seqコマンドの書式とオプション

書式

seq [オプション]... 終了値
seq [オプション]... 開始値 終了値
seq [オプション]... 開始値 増加量 終了値

主なオプション

オプション 説明
-f 出力フォーマットを指定します。
-s 区切り文字を指定します。
-w 文字数を合わせます。

seqコマンドの使い方

1から5までの連番を出力したいときは、以下のようにコマンドを実行します。

# seq 5

7から11までの連番を出力したいときは、以下のようにコマンドを実行します。

# seq 7 11

1から9まで、2ずつ増加する数値を出力したいときは、以下のようにコマンドを実行します。

# seq 1 2 9

1.3から3.3まで、0.5ずつ増加する数値を出力したいときは、以下のようにコマンドを実行します。

# seq 1.3 0.5 3.3

3から0まで、1ずつ減少する数値を出力したいときは、以下のようにコマンドを実行します。

# seq 3 -1 0

1から10までを、文字数をあわせて出力したいときは、以下のようにコマンドを実行します。

# seq -w 1 10
01
02
~省略~
09
10

1から3までを、カンマ区切「,」で出力したいときは、以下のようにコマンドを実行します。(既定の区切り文字は改行)

# seq -s , 1 3
1,2,3

5から9までを、小数点以下2桁で出力したいときは、以下のようにコマンドを実行します。

# seq -f '%.2f' 5 9
5.00
6.00
7.00
8.00
9.00

9から12までを、小数点以下2桁かつ全体7桁で0埋めで出力したいときは、以下のようにコマンドを実行します。

# seq -f '%07.2f' 9 12
0009.00
0010.00
0011.00
0012.00

処理を10回繰り返し実行したいときは、以下のようにコマンドを実行します。

# for i in `seq 10`; do echo $i; done

file01.txtから順にfile99.txtまでを作成したいときは、以下のようにコマンドを実行します。

# touch `seq -f 'file%02g.txt' 1 99`

192.168.0.1~192.168.0.50までのIPアドレスを出力したいときは、以下のようにコマンドを実行します。

# seq -f '192.168.0.%.0f' 1 50
192.168.0.1
192.168.0.2
~省略~
192.168.0.50

あとがき

テストデータの作成やファイルの一括作成時など、連番が欲しいときにseqコマンドが活躍してくれるでしょう。