J'ai posté plus tôt besoin d'aide avec un script pour lire une liste d'URL ".mp3" à partir d'un fichier texte ("URLs.txt «), télécharger chaque fichier, renommer dans l'ordre numérique (1,2,3 ...), puis enregistrez dossier "URL" sur le bureau:Problème avec le script Unix Bash qui lit dans Urls Mp3 à partir du fichier .TXT, puis télécharge et renomme les fichiers
URLs.txt
http: // ... 34566.mp3
http: // ... 234.mp3
http: // ... 126567.mp3
... devient ...
URL dossier Bureau
1.mp3
2.mp3
3.mp3
Peu de temps après, je reçus aimablement la réponse suivante sous Unix bash (pour utilisation dans Automator):
#!/bin/bash
mkdir -p ~/Desktop/URLs
n=1
while read mp3; do
curl "$mp3" > ~/Desktop/URLs/$n.mp3
((n++))
done < ~/Desktop/URLs.txt
Toutefois, bien que le script s'exécute correctement, il ne téléchargera que les fichiers dont la taille est comprise entre "47.mp3" et "49.mp3". Le script ne s'arrête pas, il ne télécharge rien au-delà de cette plage ...
Je suis très nouveau sur Unix bash, et excusez mon ignorance, mais est-il possible qu'il y ait une "limite de 50" sur script ou page Web?
Je ne sais pas combien d'URL mon fichier texte a, mais il est bien plus 49.
Je l'ai regardé dans le fichier texte pour faire en sorte que tous les chemins URL sont corrects et tout semble bien ...
Egalement téléchargé 47 - 52 manuellement pour vous assurer qu'ils peuvent réellement être téléchargés - ce qu'ils sont.
Merci pour votre réponse, John. J'ai couru le script et il m'a donné 50 - 88, puis a calé sur 89 ... Y at-il un moyen de mettre un "timer" dans le script afin que télécharge 1 fichier par "x" nombre de secondes? ... ou une autre solution de contournement. –
@ user536067 Ajoutez 'sleep x' dans la boucle while pour mettre en pause pendant x secondes entre les téléchargements. –