【Linux】seqコマンド – 数値のリストを出力

Linuxコマンド シェルスクリプト

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

タイトルとURLをコピーしました