とあるサイトのpdfが連番になっていて、それをダウンロードしたいが、手だと面倒。そんなときのワンライナー。上のxargsはそのために調べた。
perl -e 'map{printf ("http://example.com/%02d.pdf\n",$_)} 1..20;' | xargs -P0 wget
パイプの前までを出力すると、こんな感じになる。%02dってやってるのは1とかでも01と表示するため。
http://example.com/01.pdf http://example.com/02.pdf http://example.com/03.pdf http://example.com/04.pdf http://example.com/05.pdf http://example.com/06.pdf http://example.com/07.pdf http://example.com/08.pdf http://example.com/09.pdf http://example.com/10.pdf http://example.com/11.pdf http://example.com/12.pdf http://example.com/13.pdf http://example.com/14.pdf http://example.com/15.pdf http://example.com/16.pdf http://example.com/17.pdf http://example.com/18.pdf http://example.com/19.pdf http://example.com/20.pdf
この何行かをxargsで展開。wgetする。-P0はプロセスを複数立ち上げる。まあ、サーバーに猛烈に負荷かけそうだから、なくていいや。こうするとカレントディレクトリに20個のpdfが持ってこれてめでたしめでたし。
これをjpgとかに変えればエロい(ry、うわ何をするあqswでfrgtyふじこlp
追記
id:ichanさんより。
curl -O ”http://example.com/[01-20].pdf”
でもできるとのこと。簡単すぎて泣いた。。。