Comment demander un fichier sans l'enregistrer avec Wget? [fermé]


140

J'utilise Wget pour envoyer des requêtes http à un nouveau serveur Web. Je fais cela pour réchauffer le cache MySQL. Je ne souhaite pas enregistrer les fichiers après leur diffusion.

wget -nv -do-not-save-file $url

Puis-je faire quelque chose comme -do-not-save-fileavec wget?


3
C'est une meilleure question pour Super User ou Unix.SE.
Matt Ball

4
en tant que développeur, je veux tester un serveur avec wget et que cette question est sérieusement sur le sujet. Comme la meilleure réponse sur le sujet a obtenu 142 votes positifs, cette question devrait donc être réactivée en tant que sur le sujet
Mladen Adamovic

Alternativement à -q et -O, utilisez les indicateurs -nd (pas de répertoire) et --delete-after.
Suzana

1
Selon la documentation d'aide (wget -h), vous pouvez utiliser l'option --spider pour ignorer le téléchargement (version 1.14).
rocky qi

Réponses:


257

Utilisez l' qindicateur pour le mode silencieux, et indiquez wgetde sortie vers stdout avec O-(o majuscule) et redirigez vers /dev/nullpour supprimer la sortie:

wget -qO- $url &> /dev/null

>redirige la sortie de l'application (vers un fichier). si >est précédé d'une esperluette, le shell redirige toutes les sorties (erreur et normale) vers le fichier à droite de >. Si vous ne spécifiez pas d'esperluette, seule la sortie normale est redirigée.

./app &>  file # redirect error and standard output to file
./app >   file # redirect standard output to file
./app 2>  file # redirect error output to file

si le fichier est /dev/nullalors tout est rejeté.

Cela fonctionne aussi bien et plus simple:

wget -O/dev/null -q $url

qu'est-ce que l'esperluette et plus grand que faire dans cette commande? pouvez-vous simplement diriger la sortie vers / dev / null ... wget -qO- | / dev / null ...?
T.Brian Jones

Euh, j'ai essayé ça et ça n'a pas marché pour moi. D'après ce que j'ai découvert, l'esperluette devrait venir après le symbole supérieur à.
Tiago Espinha

7
Pour les utilisateurs Windows: wget -q -O NUL http: // ... Désactive la journalisation et achemine le téléchargement vers NUL (identique à / dev / null)
vidario

wget --spider $ url Le fera.
thebugfinder

1
wget -O / dev / null $ url
Tempête

43

Curl fait cela par défaut sans aucun paramètre ni indicateur, je l'utiliserais à vos fins:

curl $url > /dev/null 2>&1

Curl concerne davantage les flux et wget consiste davantage à copier des sites en fonction de cette comparaison .


1
Froid, expliquez-vous ce que signifie 2> & 1? J'obtiens> mais pourquoi la fin?
apscience

2
@gladoscc >/dev/nullredirige d' abord std vers / dev / null ( >/dev/nullabréviation de 1>/dev/null), le second redirige std err vers std out.
Oleg Mikheev

@apscience Juste pour ajouter. Le descripteur de fichier pour std out est 1. Les shells supposent std out lorsque vous supprimez le descripteur d'une redirection. Ainsi >fooest interprété comme 1>foo. Lorsque &suit une redirection, il demande au shell de rediriger l'ancien descripteur de fichier vers la même sortie que le dernier. Dans ce cas, 2>&1dit rediriger le descripteur de fichier 2 (erreur std) au même endroit que le descripteur de fichier 1 (sortie std). Puisque std out est déjà redirigé vers / dev / null, std err y sera également redirigé. Vous pouvez également écrire: 1>/dev/null 2>/dev/nullou 2>/dev/null >&2.
ktbiz

Cette réponse est correcte, mais inclut alors la même redirection de sortie que la réponse choisie. Il suffit de courir curl http://www.example.com.
Aaron Cicali du

40

Vous pouvez utiliser -O-(o majuscule) pour rediriger le contenu vers la sortie standard (sortie standard) ou vers un fichier (même des fichiers spéciaux comme /dev/null /dev/stderr /dev/stdout)

wget -O- http://yourdomain.com

Ou:

wget -O- http://yourdomain.com > /dev/null

Ou: (même résultat que la dernière commande)

wget -O/dev/null http://yourdomain.com

Thx, fonctionne également sur Windows.
Pyjong

Merci, le direct-to- / dev / null était intelligent, et donc la bonne réponse: je veux la "sortie stats", mais pas le contenu.
stolsvik
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.