#1 Le 24/01/2021, à 17:15
- Christophe C
Wget et nom de fichier incomplet
Bonjour
Je sais utiliser wget sur un nom de fichier complet - disons
wget https://www.le-site/toto25.txt
Par contre si je n'ai qu'un bout du nom (celui-ci peut bouger de toto25.txt à toto32.txt), comment faire ?
J'ai testé un
wget -A "toto*.txt" https://www.le-site/
mais cela ne marche pas.
Dernière modification par Christophe C (Le 24/01/2021, à 17:18)
BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
Hors ligne
#2 Le 24/01/2021, à 17:29
- nany
Re : Wget et nom de fichier incomplet
Bonjour,
Recursive Accept/Reject Options -A acclist --accept acclist -R rejlist --reject rejlist Specify comma-separated lists of file name suffixes or patterns to accept or reject. Note that if any of the wildcard characters, *, ?, [ or ], appear in an element of acclist or rejlist, it will be treated as a pattern, rather than a suffix. In this case, you have to enclose the pattern into quotes to prevent your shell from expanding it, like in -A "*.mp3" or -A '*.mp3'.
Je comprends qu’il ne faut pas les quotes si on veut traiter comme pattern.
Donc à tester :
wget -A toto*.txt https://www.le-site/
Dernière modification par nany (Le 24/01/2021, à 17:29)
Hors ligne
#3 Le 24/01/2021, à 17:36
- Christophe C
Re : Wget et nom de fichier incomplet
Non, j'avais testé aussi . Merci de ta réponse.
BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
Hors ligne
#4 Le 24/01/2021, à 18:02
- Watael
Re : Wget et nom de fichier incomplet
man wget a écrit :Recursive Accept/Reject Options -A acclist --accept acclist -R rejlist --reject rejlist Specify comma-separated lists of file name suffixes or patterns to accept or reject. Note that if any of the wildcard characters, *, ?, [ or ], appear in an element of acclist or rejlist, it will be treated as a pattern, rather than a suffix. In this case, you have to enclose the pattern into quotes to prevent your shell from expanding it, like in -A "*.mp3" or -A '*.mp3'.
Je comprends qu’il ne faut pas les quotes si on veut traiter comme pattern.
c'est le contraire, nany : « you have to enclose the pattern into quotes to prevent your shell from expanding it »
@Christophe C :
et comme ça : "*toto*.txt" ?*
le motif devrait-il "inclure" le chemin ?
--
* si ça marche pas d'une façon, on essaie d'une autre.
Dernière modification par Watael (Le 24/01/2021, à 18:26)
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#5 Le 24/01/2021, à 18:19
- bruno
Re : Wget et nom de fichier incomplet
Euh, l'option -A (ou -R) de wget ne marche qu'avec le mode récursif.
Donc plutôt :
wget -A "toto*.txt" -r -l1 https://www.le-site/
Je ne sais pas faire avec wget et des fichiers texte. Mais dans ce cas précis avec curl :
curl -O -f https://www.le-site/toto[25-32].txt
#6 Le 24/01/2021, à 18:41
- nany
Re : Wget et nom de fichier incomplet
c'est le contraire, nany : « you have to enclose the pattern into quotes to prevent your shell from expanding it »
Euh… On ne doit pas avoir la même interprétation de to prevent.
Et bruno a raison, il faut le mode récursif.
Donc, en reprenant la ligne de bruno, mais sans les quotes (j’insiste cf. edit) :
wget -A toto*.txt -r -l1 https://www.le-site/
Autre exemple que j’ai testé :
wget -np -rA SHA256* https://releases.ubuntu.com/20.04.1/
[edit]
Je viens de tester mon autre exemple avec des quotes (simples ou doubles) et ça fonctionne aussi.
[/edit]
Dernière modification par nany (Le 24/01/2021, à 18:57)
Hors ligne
#7 Le 24/01/2021, à 19:04
- Christophe C
Re : Wget et nom de fichier incomplet
non ...
Je fait un test avec
wget https://www.deb-multimedia.org/pool/main/a/aacgain/aacgain_1.9-dmo4_amd64.deb
çà marche.
par contre
wget -A *.deb -r https://www.deb-multimedia.org/pool/main/a/aacgain/
ou
wget -A *.deb -r https://www.deb-multimedia.org/pool/main/a/aacgain
ou
wget -np -rA *.deb https://www.deb-multimedia.org/pool/main/a/aacgain/
ou
wget -A deb https://www.deb-multimedia.org/pool/main/a/aacgain
ne marchent pas.
Pourtant, je lis ici : https://www.gnu.org/software/wget/manua … s-of-Files
So, specifying ‘wget -A gif,jpg’ will make Wget download only the files ending with ‘gif’ or ‘jpg’, i.e. GIFs and JPEGs. On the other hand, ‘wget -A "zelazny*196[0-9]*"’ will download only files beginning with ‘zelazny’ and containing numbers from 1960 to 1969 anywhere within.
Dernière modification par Christophe C (Le 24/01/2021, à 19:12)
BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
Hors ligne
#8 Le 24/01/2021, à 19:11
- Watael
Re : Wget et nom de fichier incomplet
ma traduction : ±"il faut mettre le motif entre guillemets (ou apostrophes) pour éviter que le shell l'interprète."
parce que si le shell s'en empare, il va tenter d'effectuer le Développement de chemins, et éventuellement remplacement le motif par le(s) fichier(s) trouvé(s)
c'est comme avec les motifs (-(i)name) de find.
si ça fonctionne sans "quotes", c'est que, dans le répertoire courant, tu n'as pas de fichier(s) correspondant au motif.
quant au fonctionnement avec -r uniquement, ils auraient pu le signaler dans leman. grrr.
Dernière modification par Watael (Le 24/01/2021, à 19:11)
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#9 Le 24/01/2021, à 19:26
- nany
Re : Wget et nom de fichier incomplet
ma traduction : ±"il faut mettre le motif entre guillemets (ou apostrophes) pour éviter que le shell l'interprète."
[…]
OK, je viens de comprendre mon erreur d’interprétation. J’avais négligé le mot shell (qui est pourtant bien en évidence).
quant au fonctionnement avec -r uniquement, ils auraient pu le signaler dans leman. grrr.
On est bien d’accord.
Hors ligne
#10 Le 24/01/2021, à 19:37
- Christophe C
Re : Wget et nom de fichier incomplet
bon j'ai trouvé :
wget -A 'aacgain*dmo4_amd64.deb' -ml inf -nd ftp://deb-multimedia.org/pool/main/a/aacgain/
j'ai remplacé https://www. par ftp://, et cela fonctionne. Aucune idée du pourquoi, puisque le passage par https marche très bien avec le nom complet. Mais pas avec le nom partiel.
-nd sert à éviter la recréation de toute la hiérarchie des répertoires (cela ne prend donc que le ou les fichiers "nus").
-m appel le mirroir (le ftp, donc)
-l inf : profondeur de recherche dans les répertoires infinie. Je ne vois pas bien pourquoi, vue que j'indique toute la hiérarchie, mais sans cela, cela ne semble pas marcher
Dernière modification par Christophe C (Le 24/01/2021, à 19:44)
BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
Hors ligne
#11 Le 24/01/2021, à 19:47
- Christophe C
Re : Wget et nom de fichier incomplet
wget -A 'aacgain*dmo4_amd64.deb' -m -nd ftp://deb-multimedia.org/pool/main/a/aacgain/
Marche aussi, et cela me semble plus logique. Plus d’histoire de profondeur infinie.
-m -nd signifie ici mirror, non-directories => demande le miroir ftp, sans création de l'arborescence.
Donc apparemment, sur un nom partiel, il faut passer par le miroir ftp, pas par l'original.
Dernière modification par Christophe C (Le 24/01/2021, à 19:48)
BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
Hors ligne
#12 Le 24/01/2021, à 19:54
- nany
Re : Wget et nom de fichier incomplet
j'ai remplacé https://www. par ftp://, et cela fonctionne.
De ce que j’ai compris, wget en http(s) télécharge le fichiers robots.txt et doit sans doute l’interpréter.
Or, sur deb-multimedia.org le fichier contient ceci :
User-Agent: *
Allow: /
User-agent: wget
User-agent: lftp
Disallow: /
Ce qui, si j’interprète bien, n’autorise pas le téléchargement avec wget. Tout au moins de manière récursive puisque le téléchargement direct d’un seul fichier fonctionne.
Et, avec ftp, il semble ne pas tenir compte de robots.txt.
On peut d’ailleurs voir ceci :
Ouverture de session en tant que anonymous… Session établie.
[edit]
Et ça passe bien avec https en reprenant la commande curl de bruno.
curl -O -f https://www.deb-multimedia.org/pool/main/a/aacgain/aacgain_[0-9].[0-9]-dmo4_amd64.deb
[/edit]
Dernière modification par nany (Le 24/01/2021, à 20:16)
Hors ligne
#13 Le 25/01/2021, à 12:57
- Christophe C
Re : Wget et nom de fichier incomplet
ok. Donc ce n'est pas vraiment wget qui fait une différence, c'est plutôt l'existence ou non de robot.txt
BountySource - Faite un petit don, ponctuel ou récurent, pour soutenir le développement de XFCE.
Timeshift - Sécurité : pensez à paramétrer des points de restauration système.
Euclide : « Ce qui est affirmé sans preuve peut être nié sans preuve ».
Hors ligne