seqコマンドは「数値のリストを出力する」とても単純なコマンド。
- for文の作成
- 簡易的に数値データを作成
このようなときに利用されることが多い。
# 1~3まで出力 $ seq 3 1 2 3
区切り文字を指定するオプション
区切り文字を指定するオプションは-s
# カンマ区切りで数値を出力する $ seq -s , 5 1,2,3,4,5,
# スペース区切り $ seq -s ' ' 5 1 2 3 4 5
数値を0埋めするオプション
出力する数値を最大桁数に合わせて0埋めするオプションは-w
# 2桁の0埋めで表示 $ seq -w 10 01 02 03 04 05 06 07 08 09 10
フォーマットを指定するオプション
フォーマットを指定するオプションは-f
# formatを指定して、3桁で0埋めする $ seq -f '%03g' 3 001 002 003
初期値と間隔を指定する
seqコマンドは、1
開始だけではなく、
初期値や間隔も指定することができる。
また、初期値を指定しないと間隔を指定することはできない。
# 5~9を出力 $ seq 5 9 5 6 7 8 9
# 1~10まで3ずつ出力 # seq 初期値 間隔 限界の値 $ seq 1 3 10 1 4 7 10
for文への応用
for文の基本構文は以下である。
for 変数 in 値リスト do # 処理 done
この値リスト
の部分に、seqコマンドによる数値展開を行えば良い。
シェルはバッククォートで囲むことで、
内部のコマンドを展開することができる。
# プログラム for i in `seq 1 3` do echo ${i} done # 実行結果 1 2 3
まとめ
- seqコマンドは、数値のリストを出力するためのコマンド
- これを使ってfor文などを作成する
- 簡易的なデータリストを作ることもできる