【 seq 】コマンド――数字の列を出力する:Linux基本コマンドTips(110)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、連続番号などの“数字の列”を出力する「seq」コマンドです。
本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、連続番号などの“数字の列”を出力する「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で埋めて桁数をそろえて出力する)
開始の数と間隔を指定する
開始の数を指定する場合は「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ずつ増やしながら出力する)
数字を逆順で出力する
“増分”には、実数や負の数を指定できます。従って、増分を「−1」と指定することで、数を逆順に出力することが可能です(画面3)。この場合、開始と終了の数を指定する必要がある点に注意してください。
増分を「−1」に指定した場合と同じ効果を、別のコマンドを用いて実現できます。入力を行単位で逆順に出力する「tac」コマンドです。
コマンド実行例
seq 5 -1 1(画面3)
(5から1までの数を出力する)
seq 5 | tac
(seqで1から5を出力し、tacで逆順に並び替えている)
書式を指定して出力する
「-f」オプションを用いて数字の書式を指定することができます。
書式には「%e」(指数形式、大文字で出力するときは「%E」)、「%f」(小数点形式)、「%g」(一般的な数値の形式)が使用できます(画面4)。これは浮動小数点用の書式です。
「%g」を利用することで、整数で出力する際の桁数を指定できます。例えば、4桁の幅であれば「%4g」、4桁で「0001」のようにゼロで埋めるならば「%04g」のようにします。
コマンド実行例
seq -f 書式 3(画面4)
(1から3までの数値を指定した書式で出力する)
筆者紹介
西村 めぐみ(にしむら めぐみ)
PC-9801NからのDOSユーザー(LinuxはPC-486DXから)。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、ライターとして活動。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.