Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Récupérer une liste de fichiers avec des Wget tournants en parallèle

Si vous voulez télécharger une liste d’URL en lançant d’un seul coup plusieurs process wget, voici la ligne de commande magique :

cat liste-url.txt | xargs -n 1 -P 10 wget

(Alors que la commande

wget -c -i liste-url.txt

récupérera les fichiers les uns à la suite des autres)

Ce qui est intéressant ici, c’est l’utilisation de ‘xargs’ qui permet d’éviter les listes d’arguments trop longues (voir ici pour plus d’explications) et dans ce cas, récupère chacune des urls sorties par la commande cat et les balance à wget avec les paramètre -n et -P

  • -n 1 : ça veut dire que le nombre maximum de paramètre envoyé est de 1
  • -P 10 : ça veut dire que wget sera lancé 10 fois (en parallèle donc)

Cette commande est équivalente à celle-ci qui est un poil plus longue à écrire dans un script 😉

for i in `cat liste-url.txt`
   do
      wget -c $i
   done

Ça peut toujours dépanner…

[Source et photo]


Les articles du moment