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

où

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