連載
» 2017年05月18日 05時00分 UPDATE

Linux基本コマンドTips(110):【seq】コマンド――数字の列を出力する

本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、連続番号などの“数字の列”を出力する「seq」コマンドです。

[西村めぐみ,@IT]
「Linux基本コマンドTips」のインデックス

連載目次

 本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、連続番号などの“数字の列”を出力する「seq」コマンドです。

seqコマンドとは?

 「seq」は連続番号の他、一定間隔置きに数字の列を出力するコマンドです。



seqコマンドの書式

seq [オプション] [開始の数 [増分]] 終了の数

※[ ]は省略可能な引数を示しています





seqコマンドの主なオプション

 seqコマンドのオプションは次の通りです。

短いオプション 長いオプション 意味
-w --equal-width 先頭を0で埋めて、数字の幅を等しくする(本文参照)
-f 書式 --format=書式 数字の書式を指定する(本文参照)
-s 文字列 --separator=文字列 数字の区切りに使う文字列を指定する(デフォルトは改行)


連続番号を出力する

 「seq 10」で1から10までを出力します(画面1)。

 先頭を0で埋めて数字の幅を等しくしたい場合は「-w」オプションを使用します。例えば「seq -w 10」の場合、幅が最大なのは「10」ですから、01、02と2桁で出力されます。この他の桁数を指定したい場合は後述する「-f」オプションを使用します。

コマンド実行例

seq 数

(1から指定した数までの連続番号を出力する)(画面1

seq -w 数

(先頭を0で埋めて桁数をそろえて出力する)


画面1 画面1 1から10までの数字(整数)を出力(上段)、桁をそろえて出力(下段)


開始の数と間隔を指定する

 開始の数を指定する場合は「seq 5 15」のように、「seq 開始の数 終了の数」と指定します(画面2)。

 「seq 5 2 15」のように、開始と終了の間に増分を指定することもできます。

 このように、引数に数を1つ指定した場合は最後の数、2つ指定した場合は最初と最後の数、3つ指定した場合は最初の数、増分、最後の数として解釈されます。

コマンド実行例

seq 5

(1から5までの数を出力する)(画面2

seq 5 15

(5から15までの数を出力する)

seq 5 2 15

(5から15まで、数を2ずつ増やしながら出力する)


画面2 画面2 1から5までを出力(上段)、5から10まで出力(中段)、5から10以下の数まで増分2で出力(下段)


数字を逆順で出力する

 “増分”には、実数や負の数を指定できます。従って、増分を「−1」と指定することで、数を逆順に出力することが可能です(画面3)。この場合、開始と終了の数を指定する必要がある点に注意してください。

 増分を「−1」に指定した場合と同じ効果を、別のコマンドを用いて実現できます。入力を行単位で逆順に出力する「tac」コマンドです。

コマンド実行例

seq 5 -1 1画面3

(5から1までの数を出力する)

seq 5 | tac

(seqで1から5を出力し、tacで逆順に並び替えている)


画面3 画面3 5から1ずつ減らしながら1まで出力(上段)、1から5までを出力し、tacコマンドで逆順に並び替えて出力(下段)


書式を指定して出力する

 「-f」オプションを用いて数字の書式を指定することができます。

 書式には「%e」(指数形式、大文字で出力するときは「%E」)、「%f」(小数点形式)、「%g」(一般的な数値の形式)が使用できます(画面4)。これは浮動小数点用の書式です。

 「%g」を利用することで、整数で出力する際の桁数を指定できます。例えば、4桁の幅であれば「%4g」、4桁で「0001」のようにゼロで埋めるならば「%04g」のようにします。

コマンド実行例

seq -f 書式 3画面4

(1から3までの数値を指定した書式で出力する)


画面4 画面4 1から0.1ずつ1.2まで小数点以下2桁で出力(上段)、1から3まで4桁で出力(中段)、1から3まで数字部分を4桁と指定して先頭に「IMG」、末尾に「.jpg」を付けて出力


筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801NからのDOSユーザー(LinuxはPC-486DXから)。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、ライターとして活動。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。


Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

Focus

- PR -

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。