[jq] range で連番を生成する
作成日: 2026年10月27日
jq の range を使用すると、指定した範囲の数値を順に生成できます。開始値と終了値を指定して、連番を作りたい場合などに利用できます。
下記の例では、1から始めて4未満の整数を出力しています。
jq -n 'range(1; 4)'
実行結果は下記のとおりです。
1
2
3
range(開始値; 終了値) は、開始値を含み、終了値を含まない範囲の数値を1ずつ増やして出力します。この例では入力 JSON を使用しないため、-n オプションを指定しています。
増分を指定して配列にまとめる
第3引数で増分を指定できます。range の出力を [] で囲むと、生成した値を1つの配列にまとめられます。
jq -n '[range(0; 10; 2)]'
実行結果は下記のとおりです。
[
0,
2,
4,
6,
8
]
この例では、0から始めて2ずつ増やし、10未満の値を配列に格納しています。終了値の10は含まれません。