質問

私は--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)。   行って

幸運

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top