410gone.click

©2021 sumomo-99

[Linux] seqコマンドで連番を作る

更新日: 2021-04-11T08:21:11.753Z

Linux

seqコマンドは連番の出力を行います。

seq - print a sequence of numbers

seqコマンドはGNU Coreutilsに含まれています。ここでは、seqコマンドの基本的な使い方を紹介します。
※以降の実行例は、Ubuntu17.10で確認しています。

目次

  1. 基本的な使い方
  2. 実行例
  3. スペース区切りで出力する
  4. 桁数を合わせる(ゼロパディング)

1. 基本的な使い方

seq [option]... last
seq [option]... first last
seq [option]... first increment last

firstからlastまでの番号を、incrementに指定した値を増分として標準出力に出力します。
firstおよびincrementのデフォルト値は'1'です。

2. 実行例

seqコマンドの実行例を、いくつか紹介します。

$ seq 5 #1から5までの連番
1
2
3
4
5
$ seq 5 10 #5から10までの連番
5
6
7
8
9
10
$ seq 0.1 0.2 1.0 #0.1から1.0まで、0.2づつの増加
0.1
0.3
0.5
0.7
0.9
$ seq 3 -1 -3 #3から-3まで1づつ減少
3
2
1
0
-1
-2
-3

3. スペース区切りで出力する

seqコマンドは数値の区切りは改行(\n)で出力します。'-s'オプションを利用することで区切り文字を変更することができます。
スペース区切りで出力してみます。

$ seq -s ' ' 5
1 2 3 4 5

4. 桁数を合わせる(ゼロパディング)

'-w'オプションは、見た目の桁数を合わせるために'0'でパディングを行います。

$ seq -w 5 30 150
005
035
065
095
125

'-w'オプションは最大の桁数に自動的にパディングされます。任意の桁数を指定したい場合は、'-f'オプションでフォーマットを指定します。
5桁のゼロパディングで出力してみます。

$ seq -f %05g 5 30 150
00005
00035
00065
00095
00125

 
以上、連番を出力するseqコマンドの紹介でした。