- 443 名前:421 mailto:sage [02/08/09 11:00]
- ご意見サンクス。エスケープは >429 書いた直後に気づきました。
"exec" と書く前に気づかなきゃだめか... >430 $ while read url; do t=${url#}; echo "$url" >> ${t%/*}.list; done $ echo *.list | 429を $fetch_cmd = "wget option -i"; に変更 で、できるかな。シェルスクリプト大好き。 >436 >437 やってみた。shuffle はパイプに繋げてたけど、一緒にしても大したこと無いね。 my($pid, @slot, @url); @slot = (0) x $max; chomp(@url = <>); outloop: for (;;) { foreach (@slot) { if ($_ != 0 and waitpid($_, &WNOHANG)!=0) { $_ = 0; } } foreach (@slot) { last outloop unless @url; if ($_ == 0) { my $url = splice(@url, int(rand(@url)), 1); $url =~ s/'/%27/g; $pid = fork(); if ($pid==0) { exec("$fetch_cmd '$url'"); } else { $_ = $pid; } } } sleep(1); } foreach (@slot) { waitpid($_, 0); } M-x indent-region したら条件文の丸括弧にスペースがぁ...
|

|