¿Cómo redirige la respuesta de wget a la salida estándar?

148

Tengo una crontabque wgetla página PHP sa cada cinco minutos (solo vaya a hacer algún código PHP), y quiero enviar el resultado de la petición a la salida estándar, mientras que el envío de la normal wgetsalida a /dev/null(o de otra manera ocultarlo). No pude encontrarlo en el wgetmanual.

Estoy buscando algo como:

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

¿Nadie sabe?

Sean Adkinson
fuente
55
Mistitled, debería ser "¿Cómo redirige wget a nulo?".
Bob Stein
2
@ BobStein-VisiBone Creo que se titula correctamente. Quería que lo que está wget-ed vaya a a stdout, y lo normal stdouta lo que ir null(es decir, ignorar lo que generalmente imprime y, en su lugar, imprimir el cuerpo de respuesta).
Sean Adkinson
66
Oh! Estoy corregido. He empezado a usar wget http://example.com/page.php -qO- (Eso es mayúscula). Ese estándar solo produce el cuerpo de respuesta. ¿Es eso lo que querías?
Bob Stein

Respuestas:

157

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

o, si desea redirigir la salida de error estándar también:

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

o, para codegolf :-)

wget -O-

Tomás
fuente
12
Es posible que desee agregar -nvpara evitar que el indicador de progreso sobrescriba la salida.
Tor Klingberg
1
Este enfoque tiene un problema: si el estado de respuesta no es 200, no imprime el cuerpo. ¿Alguna idea para resolverlo?
Imaskar
71

Una versión más simple

wget -qO- http://example.com

equivalente a

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

dónde

  • -q apaga la salida del registro, incluida la información de error
  • -O -, equivalente a -O /dev/stdout, significa volcar la página web en un archivo llamado /dev/stdout.
Martin Wang
fuente
2
El primero funciona con el wget de BusyBox, que es muy útil. No creo que le guste tener un espacio después delO
zymhan
18
wget -qO /dev/null http://whatever.com/page.php
  • -q para hacerla tranquila
  • -O /dev/null ignorar el contenido de la página
incrédulo
fuente
6

También puedes probar:

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

el -qlo hará "tranquilo"

O haga que el archivo vaya a alguna página html temporal que no le importa tener. whatever.com/tempFile.html


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

fuente
Funciona en mi mac con wget 1.12.
¿Podría dar alguna explicación sobre lo que hace su código?
Tamara Wijsman
-O significa "escribir salida en este archivo"
thomasrutter