質問
私は--input-ファイルを使用してwgetのに供給したいURLのリストを持っています。
しかし、私は、同時に--output-文書値を制御する方法を考え出すことはできません これはあなたがコマンドを一つずつ発行する場合は簡単です。 私は、そのURLのMD5として、各文書を保存したいと思います。
cat url-list.txt | xargs -P 4 wget
私はまた、並列ダウンロードのためのmax-procsの機能を利用したいので、そしてxargsがあります。
解決
どのようにループを使用してはどうですか?
while read -r line
do
md5=$(echo "$line"|md5sum)
wget ... $line ... --output-document $md5 ......
done < url-list.txt
他のヒント
cat
を使用しないでください。あなたはファイルから読み込むxargs
持つことができます。 man
ページから:
--arg-file=file -a file Read items from file instead of standard input. If you use this option, stdin remains unchanged when commands are run. Other‐ wise, stdin is redirected from /dev/null.
あなたの質問では、あなたはあなたのソリューションを並列に実行したい示唆-P 4を使用します。 GNUパラレル http://www.gnu.org/software/parallel/ にはあなたを助けるかもしれません:
cat url-list.txt | parallel 'wget {} --output-document "`echo {}|md5sum`"'
あなたはこのようにそれを行うことができます:
猫のurl-list.txtに|しばらくは、URLを読み込みます。 行う wget $のURL -O $(エコー "$のURL" | MD5)。 行って
幸運
所属していません StackOverflow