単調増加 (減少) する数値列を表示する – seq コマンド

kiccoCentOS,cui,for,linux,seq,shell,コマンド,シェル,単調,増加,減少

こんにちは、kiccoです。
最近車にETC付けました。その辺のお店にはまずモノがありません。
なので知り合いの整備士さんにお願いして、ヤフオクで落としてもらいました〜♪
試し乗りにお台場まで行ってきたのですが、初めてのゲート通過よりも、
潮風公園に出現したガンダムを見た感動の方が強かったですw

前置きが長くなりました。
さて、今回ご紹介するのは seq コマンドです。単調増加または減少する数値列を表示してくれます。

$ seq 5
1
2
3
4
5

例えば、for 文で指定回数を回したい時に使えます。
$ for NUM in $(seq 5); do
> echo "${NUM}回目"
> done
1回目
2回目
3回目
4回目
5回目

man よりも help の説明がわかりやすいです。
$ seq --help
Usage: seq [OPTION]... LAST
or: seq [OPTION]... FIRST LAST
or: seq [OPTION]... FIRST INCREMENT LAST
FIRST から LAST までの数字を INCREMENT の間隔で表示.
 
-f, --format=FORMAT printf 形式の浮動小数点の FORMAT (標準: %g) を使用
-s, --separator=STRING 数字の区切りに STRING を使用 (標準: \n)
-w, --equal-width 表示幅 (桁) を揃えるためにに先頭をゼロで埋める
--help この使い方を表示して終了
--version バージョン情報を表示して終了

始まりと終わりの数値を指定できます。
$ seq 6 10
6
7
8
9
10

増加または減少する幅を指定できます。
$ seq 5 -1 1
5
4
3
2
1

'-s’オプションで、区切り文字を指定できます。
$ seq -s, 5
1,2,3,4,5

'-w’オプションで、表示幅 (桁) を揃えるために先頭をゼロで埋めてくれます。
$ seq -w 10
01
02
03
04
05
06
07
08
09
10

CentOS では coreutils パッケージに入っています。
$ rpm -qf $(which seq)
coreutils-5.2.1-31.8.el4_7.centos.1

プログラムは極力シェルで書く人間としては、かゆいところに手が届くコマンドで重宝してます♪
それではまた(^o^)!

kiccoCentOS,cui,for,linux,seq,shell,コマンド,シェル,単調,増加,減少

Posted by kicco