J'ai un fichier avec une liste de liens vers des vidéos YouTube.
Lorsque j'exécute la commande :
wget -i list
Tout fonctionne très bien, mais wget renomme automatiquement les fichiers en charabia à la fin de chaque lien. Exécuter wget manuellement n'est pas une option car il y a beaucoup trop de liens. Comment puis-je donner un nom personnalisé aux liens que wget reconnaîtra ?
Réponse acceptée :
Le -O
L'option vous permet de spécifier le nom du fichier de destination. Mais si vous téléchargez plusieurs fichiers à la fois, wget
enregistrera tout leur contenu dans le fichier que vous spécifiez via -O
. Notez que dans les deux cas, le fichier sera tronqué s'il existe déjà. Voir la page de manuel pour plus d'informations.
Vous pouvez exploiter cette option en indiquant wget
pour télécharger les liens un par un :
while IFS= read -r url;do
fileName="blah" # Add a rule to define a new name for each file here
wget -O "$fileName" "$url"
done < list
Vous pouvez également suivre la suggestion de JJoao et ajouter un nom de fichier à côté de chaque URL dans le fichier, puis faire :
while IFS= read -r url fileName;do
wget -O "$fileName" "$url"
done < list
où il est supposé que vous avez ajouté un nom de fichier (unique) après chaque URL dans le fichier (séparé par un espace).