Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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,


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.
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 smile. 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

nany a écrit :
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. smile

Dernière modification par Watael (Le 24/01/2021, à 18:26)


Connected \o/
Welcome to sHell. · eval is evil.

Hors 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

Watael a écrit :

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. tongue

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. yikes
[/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.

Hors ligne

#9 Le 24/01/2021, à 19:26

nany

Re : Wget et nom de fichier incomplet

Watael a écrit :

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).

Watael a écrit :

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

Christophe C a écrit :

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