今号では、前回少しだけ登場した seq コマンドの使い方やオプションについてご紹介します!
seq コマンドとは
seq コマンドは、数字の列を出力するコマンドです。
よく for 文の繰り返し処理などで、連続した数字を簡単に出力したい場合に使用される事が多いですが、
連続した数字だけではなく、様々な条件で数字を出力する事ができます。
使い方・オプション
- 連続した数字を出力する
「seq 値」のように、引数に1つの数字のみ指定した場合は、1からその数字までの連続した数字を出力します。$ seq 5 1 2 3 4 5
- 開始・終了の値を指定する
「seq 開始の値 終了の値」のように2つの数字を指定すると、開始の値から終了の値までの連続した数字を出力します。$ seq 6 10 6 7 8 9 10
- 開始・増分・終了の値を指定する
「seq 開始の値 増分の値 終了の値」のように3つの数字を指定すると、開始の値 (1つめ) から終了の値 (3つめ) までを、増分 (2つめ) の値ずつ増やしながら数字を出力します。※開始の値・増分の値・終了の値にはそれぞれ少数を指定することもできます。
$ seq 1 2 10 1 3 5 7 9
- 数字を逆順で出力する
上でご紹介した増分の値に負の数を指定すると、数を逆順に出力します。
この時、開始の値と終了の値を指定する必要があります。$ seq 10 -2 1 10 8 6 4 2
- 区切り文字を変更する
-s オプションを指定すると、数字を出力する際の区切り文字 (デフォルトは改行) を変更できます。$ seq -s, 1 5 1,2,3,4,5
空白を入れたい場合は、” “ で空白部分を囲みます。
$ seq -s" " 1 5 1 2 3 4 5
- 値をゼロ埋めし、文字数を等しくする
-w オプションを指定すると、最も桁数の多い数字と同じ桁数 (文字数) になるように先頭がゼロ埋めされます。$ seq -w 1 20 100 001 021 041 061 081
- 書式を指定する
-f オプションを指定すると、数字の書式を指定できます。主に使用すると考えられる書式は以下の通りです。
・%g 桁数を指定 (先頭をゼロ埋めする) ・%f 浮動小数点以下の桁数を指定$ seq -f "%05g" 1 5 00001 00002 00003 00004 00005 $ seq -f "%5f" 1 5 1.000000 2.000000 3.000000 4.000000 5.000000