読者です 読者をやめる 読者になる 読者になる

一連のほげほげをいっぺんにダウンロードしてくるためのワンライナー

Linux Perl

とあるサイトの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”

でもできるとのこと。簡単すぎて泣いた。。。