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コマンドが活躍してくれるでしょう。