[bash] boucle wget
Laurane85
Messages postés
7
Statut
Membre
-
Laurane85 Messages postés 7 Statut Membre -
Laurane85 Messages postés 7 Statut Membre -
Bonjour
J'ai fait un script qui permet de télécharger un fichier via une variable $var en faisant
Cela fonctionne bien mais je voudrais améliorer le truc en permettant de rentrer plusieurs fois un suffixe pour télécharger a la suite et mettre le premier suffixe télechargé dans le dossier caca/, le second suffixe dans un dossier caca2/ etc
Et en disant au bout d'un certain nombre de téléchargements de dire STOP pour que le script fasse le travail
Quelqu'un aurait une idée?
Merci de votre aide
J'ai fait un script qui permet de télécharger un fichier via une variable $var en faisant
#!/bin/bash echo -e "ENTRER le sufixe de l'URL : " read var wget -i [http://127.0.0.1/]$var mkdir caca mv $var caca/
Cela fonctionne bien mais je voudrais améliorer le truc en permettant de rentrer plusieurs fois un suffixe pour télécharger a la suite et mettre le premier suffixe télechargé dans le dossier caca/, le second suffixe dans un dossier caca2/ etc
Et en disant au bout d'un certain nombre de téléchargements de dire STOP pour que le script fasse le travail
Quelqu'un aurait une idée?
Merci de votre aide
A voir également:
- [bash] boucle wget
- Bingo bash free - Télécharger - Divers Jeux
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
- Bash addition - Forum Shell
- Tv orange chargement en boucle ✓ - Forum TV & Vidéo
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
10 réponses
Bonjour,
Il me paraît plus simple d'utiliser l'option -O pour dire à wget où écrire le fichier une fois le répertoire de destination créé.
Ensuite pour répondre à ton problème, il suffit d'écrire un script shell capable de lire n paramètres d'entrées :
https://forums.commentcamarche.net/forum/affich-37619992-bash-les-arguments-parametres
Bonne chance
Il me paraît plus simple d'utiliser l'option -O pour dire à wget où écrire le fichier une fois le répertoire de destination créé.
Ensuite pour répondre à ton problème, il suffit d'écrire un script shell capable de lire n paramètres d'entrées :
https://forums.commentcamarche.net/forum/affich-37619992-bash-les-arguments-parametres
Bonne chance
Ok merci pour ta réponse
Pour le wget -O pas de problème par contre pour la boucle je galère si vous avez une idée je suis preneur
Pour le wget -O pas de problème par contre pour la boucle je galère si vous avez une idée je suis preneur
hello
exemple de boucle, on termine avec une réponse vide
exemple de boucle, on termine avec une réponse vide
i=1; while read -p "ENTRER le sufixe de l'URL : " var && [[ -n "$var" ]]; do wget -O fichier$((i++)) http:/xxx/$var; done
ou encore :
#!/bin/bash
while [ "$#" -gt 0 ];do echo "wget http://$1"; shift; done
$./sc.sh placard maison singe
wget http://placard
wget http://maison
wget http://singe
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci pour l'aide les gars
Mais comment je peux intégrer une boucle sur la creation de plusieurs dossiers après avoir telecharger mes fichiers des differentes urls
Exemple : fichier1 telechargé va dans le dossier1
Fichier dans dossier2
Etc
Merci pour l'aide
Mais comment je peux intégrer une boucle sur la creation de plusieurs dossiers après avoir telecharger mes fichiers des differentes urls
Exemple : fichier1 telechargé va dans le dossier1
Fichier dans dossier2
Etc
Merci pour l'aide
En reprenant le code de dubcek et en ajoutant un mkdir dossier
Problèmes éventuels : les téléchargements vont s'effectuer un à un, l'un après l'autre ; pas de test si problème de création du dossier et/ou du fichier, rien de prévu si le wget échoue ; etc.
i=1;
while read -p "ENTRER le suffixe de l'URL : " var && [[ -n "$var" ]];
do
mkdir dossier$i
wget -O dossier$i/fichier$i "http:/xxx/$var"
i=$((i++))
done
Problèmes éventuels : les téléchargements vont s'effectuer un à un, l'un après l'autre ; pas de test si problème de création du dossier et/ou du fichier, rien de prévu si le wget échoue ; etc.
Salut,
Parfois il existe des outils tout en un, il suffit juste de se pencher dans les pages de man.
;-))
Parfois il existe des outils tout en un, il suffit juste de se pencher dans les pages de man.
cURLpeut faire bien mieux que
wget;-)
$ ls
$ curl -n ftp://xxxxxx.fr/Test/[1-3].png --create-dirs -o "rep#1/#1.png"
[1/3]: ftp://xxxxxx.fr/Test/1.png --> rep1/1.png
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 209k 100 209k 0 0 507k 0 --:--:-- --:--:-- --:--:-- 506k
[2/3]: ftp://xxxxxx.fr/Test/2.png --> rep2/2.png
100 124k 100 124k 0 0 342k 0 --:--:-- --:--:-- --:--:-- 342k
[3/3]: ftp://xxxxxx.fr/Test/3.png --> rep3/3.png
100 202k 100 202k 0 0 500k 0 --:--:-- --:--:-- --:--:-- 500k
$ tree
.
|-- rep1
| `-- 1.png
|-- rep2
| `-- 2.png
`-- rep3
`-- 3.png
3 directories, 3 files
;-))
malgré ton script gnu- j'ai toujours pas réussi.
#!/bin/bash./
i=1; while read -p ID: var && [[ -n $var ]]; do mkdir dossier$i; wget -i http://url/$var; i=$((i++))
done
Au bout du second téléchargement j'ai le message :
") erreur de syntaxe : opérateur arithmétique non valable (le symbole erroné est "
#!/bin/bash./
i=1; while read -p ID: var && [[ -n $var ]]; do mkdir dossier$i; wget -i http://url/$var; i=$((i++))
done
Au bout du second téléchargement j'ai le message :
") erreur de syntaxe : opérateur arithmétique non valable (le symbole erroné est "