Linuxコマンド: seq
seq
コマンドは、指定した範囲の数値を生成するために使用されるLinuxの便利なツールです。このコマンドは、簡単な連続番号リストを作成したり、スクリプトでループ処理を行う際に役立ちます。
基本構文
seq [オプション]... 最終値
seq [オプション]... 開始値 最終値
seq [オプション]... 開始値 増分 最終値
-
開始値: 数値の生成を開始する値(省略可能、デフォルトは
1
)。 -
増分: 各ステップで加算する値(省略可能、デフォルトは
1
)。 - 最終値: 数値の生成を終了する値。
使用例
1. 1から10までの数値を生成
seq 10
出力:
1
2
3
4
5
6
7
8
9
10
2. 開始値と終了値を指定
seq 3 7
出力:
3
4
5
6
7
3. 増分を指定
seq 1 2 9
出力:
1
3
5
7
9
4. 減少する数列を生成
seq 10 -2 2
出力:
10
8
6
4
2
オプション
-f
または --format
数値のフォーマットを指定できます。例えば、小数点を含むフォーマットやゼロパディングが可能です。
使用例: 小数点付き
seq -f "%.2f" 1 0.5 3
出力:
1.00
1.50
2.00
2.50
3.00
使用例: ゼロパディング
seq -f "%03g" 1 5
出力:
001
002
003
004
005
-s
または --separator
区切り文字を指定します(デフォルトは改行)。
使用例: コンマ区切り
seq -s "," 1 5
出力:
1,2,3,4,5
-w
または --equal-width
すべての数値を同じ幅に揃えます(ゼロパディングを適用)。
使用例
seq -w 1 10
出力:
01
02
03
04
05
06
07
08
09
10
応用例
スクリプトでのループ処理
for i in $(seq 1 5); do
echo "Processing item $i"
done
出力:
Processing item 1
Processing item 2
Processing item 3
Processing item 4
Processing item 5
数列をファイルに出力
seq 1 100 > numbers.txt
複雑な数列の生成
負の増分を使用
seq 5 -1 -5
出力:
5
4
3
2
1
0
-1
-2
-3
-4
-5
小数値の生成
seq 0 0.1 0.5
出力:
0.0
0.1
0.2
0.3
0.4
0.5
よくある質問
Q1. seq
で生成した数値をカンマ区切りで保存するには?
seq -s "," 1 10 > numbers.csv
Q2. 小数点を含む減少数列を作成できますか?
seq 1.0 -0.2 0.0
まとめ
seq
コマンドはシンプルながらも非常に柔軟で、多くの場面で便利に活用できます。数値のリストが必要な場合や、簡単なスクリプトの作成時にぜひ利用してみてください!