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?


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-


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.

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

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


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

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