257 votes

Comment rediriger la réponse de wget vers la sortie standard ?

J'ai un crontab que wget s une page PHP toutes les cinq minutes (juste pour exécuter un peu de code PHP), et je veux envoyer la sortie de la requête à la sortie standard, tout en envoyant la sortie normale de l wget sortie vers /dev/null (ou le cacher d'une autre manière). Je n'ai pas pu le trouver dans le wget manuel.

Je cherche quelque chose comme :

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

Quelqu'un le sait ?

6 votes

Mistitled, devrait être "How do you redirect wget to null ?".

3 votes

@BobStein-VisiBone Je pense que le titre est correct. Je voulais la chose qui est wget -pour aller à un stdout et la normale stdout pour aller à null (c'est-à-dire qu'il ignore ce qu'il imprime habituellement, et imprime à la place le corps de la réponse).

6 votes

Oh ! Je me suis trompé. J'ai commencé à utiliser wget http://example.com/page.php -qO- (C'est un Oh majuscule.) Cette norme ne sort QUE le corps de la réponse. C'est ce que vous vouliez ?

266voto

Tomas Points 6601

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

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

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

ou, pour le codegolf :-)

wget -O-

27 votes

Vous pouvez ajouter -nv pour éviter que l'indicateur de progression n'écrase la sortie.

1 votes

Cette approche a un problème - si le statut de la réponse n'est pas 200, le corps n'est pas imprimé. Avez-vous des idées pour résoudre ce problème ?

1 votes

Voir la réponse de Martin Wang - vous devez ajouter -q pour voir la sortie.

193voto

Martin Wang Points 2043

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 - soit l'équivalent de -O /dev/stdout Cela signifie que la page web est transférée dans un fichier nommé /dev/stdout .

4 votes

Le premier fonctionne avec le wget de BusyBox, ce qui est très utile. Je ne pense pas qu'il apprécie d'avoir un espace après le mot O

20voto

unbeli Points 324
wget -qO /dev/null http://whatever.com/page.php
  • -q pour le rendre tranquille
  • -O /dev/null pour ignorer le contenu de la page

11voto

Vous pouvez également essayer :

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

el -q le rendra "silencieux"

Ou faites en sorte que le fichier aille sur une page html temporaire qui ne vous dérange pas. whatever.com/tempFile.html

4voto

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

0 votes

Cela fonctionne sur mon mac avec wget 1.12.

1 votes

Pourriez-vous fournir quelques explications sur ce que fait votre code ?

0 votes

-O signifie "écrire la sortie dans ce fichier".

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X