Comment redirigez-vous la réponse wget à la sortie standard?

148

J'ai crontabque la wgetpage PHP sa toutes les cinq minutes (juste pour exécuter certains le code PHP), et je veux envoyer la sortie de la demande à la sortie standard, tout en envoyant la normale wgetsortie /dev/null(ou autrement le cacher). Je ne pouvais pas le trouver dans le wgetmanuel.

Je cherche quelque chose comme:

wget -o stdout http://whatever.com/page.php > /dev/null

Quelqu'un sait?

Sean Adkinson
la source
5
Erreur, devrait être "Comment redirigez-vous wget en null?".
Bob Stein
2
@ BobStein-VisiBone Je pense que c'est intitulé correctement. Je voulais que la chose qui est wget-ed soit dirigée vers un stdout, et que la normale stdouty aille null(c. -à -d. Ignorer ce qu'elle est habituellement imprimée et à la place imprimer le corps de la réponse).
Sean Adkinson
6
Oh! Je me suis trompé. J'ai commencé à utiliser wget http://example.com/page.php -qO- (c'est un capital Oh.) Ce standard ne génère que le corps de la réponse. Est-ce ce que tu voulais?
Bob Stein

Réponses:

157

wget -O - http://whatever.com/page.php > /dev/null

ou, si vous voulez rediriger la sortie d'erreur standard également:

wget -O - http://whatever.com/page.php > /dev/null 2>&1

ou, pour codegolf :-)

wget -O-

Tomas
la source
12
Vous voudrez peut-être ajouter -nvpour éviter que l'indicateur de progression écrase la sortie.
Tor Klingberg
1
Cette approche pose un problème - si le statut de la réponse n'est pas 200, le corps ne sera pas imprimé. Des idées pour le résoudre?
Imaskar
71

Une version plus simple

wget -qO- http://example.com

équivalent à

wget -q -O - http://example.com

  • -q désactive la sortie du journal, y compris les informations d'erreur
  • -O -, équivalent à -O /dev/stdout, signifie vider la page Web dans un fichier nommé /dev/stdout.
Martin Wang
la source
2
Le premier fonctionne avec le wget de BusyBox, ce qui est très utile. Je ne pense pas qu'il aime avoir un espace après leO
zymhan
18
wget -qO /dev/null http://whatever.com/page.php
  • -q faire taire
  • -O /dev/null ignorer le contenu de la page
unbeli
la source
6

Vous pouvez aussi essayer:

wget -q -O - http://whatever.com/page.php > /dev/null 

le -qrendra "calme"

Ou demandez au fichier d’accéder à une page HTML temporaire que vous ne craignez pas d’avoir. Whatever.com/tempFile.html


la source
3
wget -O /dev/null http://example.com/

la source
Cela fonctionne sur mon mac avec wget 1.12.
Pourriez-vous fournir des explications sur ce que votre code fait?
Tamara Wijsman
-O signifie "écrire la sortie dans ce fichier"
thomasrutter