[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は含まれません。

参考

jq