seqのススメ

seqって何?

NAME
       seq - print a sequence of numbers

SYNOPSIS
       seq [OPTION]... LAST
       seq [OPTION]... FIRST LAST
       seq [OPTION]... FIRST INCREMENT LAST

数字を順番に出力してくれるコマンド。
使い方は3パターン。 ※各引数の位置に注意。

「最後の値」のみを指定

「1」から「1」ずつ増えて「最後の値」までを出力する。

$ seq 3
1
2
3
「最初の値」と「最後の値」を指定

「最初の値」から「1」ずつ増えて「最後の値」までを出力する。

$ seq 1 5
1
2
3
4
5
「最初の値」と「増やしたい値」と「最後の値」を指定

「最初の値」から「増やしたい値」ずつ増えて「最後の値」までを出力する。

$ seq 1 5 31
1
6
11
16
21
26
31

サンプル

例えば、

連番のファイル(patchとか)を一気にダウンロードするぞ。

って時に便利。

# hoge5.1のパッチ(1から100まで)をダウンロード
for i in `seq -w 1 100`; do wget http://example.com/patches/hoge5.1/hoge5.1.$1; done

*1

オプションとか

詳しくはman参照。

DESCRIPTION
       Print numbers from FIRST to LAST, in steps of INCREMENT.

       -f, --format=FORMAT
              use printf style floating-point FORMAT

       -s, --separator=STRING
              use STRING to separate numbers (default: \n)

       -w, --equal-width
              equalize width by padding with leading zeroes

       --help display this help and exit

       --version
              output version information and exit

       If  FIRST or INCREMENT is omitted, it defaults to 1.  That is, an omitted INCREMENT defaults to 1
       even when LAST is smaller than FIRST.  FIRST, INCREMENT, and LAST  are  interpreted  as  floating
       point values.  INCREMENT is usually positive if FIRST is smaller than LAST, and INCREMENT is usu-
       ally negative if FIRST is greater than LAST.  FORMAT must be suitable for printing  one  argument
       of  type `double'; it defaults to %.PRECf if FIRST, INCREMENT, and LAST are all fixed point deci-
       mal numbers with maximum precision PREC, and to %g otherwise.

*1:ちゃんとゼロ詰めもしてくれる。