seq と xargsの便利なオプション

連番のURLに順にアクセスしようとしてちょっと調べてみた。


seqの-fオプションとxargsの-Iオプションが便利だった。

seqの-fオプションは連番をprintf形式で指定できる。

$ seq -f "path/to/%02g" 1 10
path/to/01
path/to/02
path/to/03
path/to/04
path/to/05
path/to/06
path/to/07
path/to/08
path/to/09
path/to/10

xargsの-Iオプションは読み込んだ文字列を引数の中に展開してくれる。

$ seq -f "path/to/%02g" 1 10 | xargs -I {} echo "http://www.example.com/{}"

http://www.example.com/path/to/01
http://www.example.com/path/to/02
http://www.example.com/path/to/03
http://www.example.com/path/to/04
http://www.example.com/path/to/05
http://www.example.com/path/to/06
http://www.example.com/path/to/07
http://www.example.com/path/to/08
http://www.example.com/path/to/09
http://www.example.com/path/to/10

便利だ。

追記:

あんまり例がよくなかったが、{}を複数回使うこともできるので、オプションとURLと二つに展開したいときとか便利