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文などを作成する
- 簡易的なデータリストを作ることもできる