Come reindirizzi la risposta di wget allo standard out?


148

Ho un crontabche wgetla pagina sa PHP ogni cinque minuti (solo per far girare un po 'il codice PHP), e voglio inviare l'output della richiesta di standard output, durante l'invio del normale wgetoutput /dev/null(o in altro modo lo nascondo). Non sono riuscito a trovarlo nel wgetmanuale.

Sto cercando qualcosa come:

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

Qualcuno sa?


5
Mistitled, dovrebbe essere "Come reindirizzare wget su null?".
Bob Stein,

2
@ BobStein-VisiBone Penso che sia intitolato correttamente. Volevo che la cosa che wgetdoveva andare a stdout, e la normale stdouta null(cioè ignorare ciò che di solito stampa, e invece stampare il corpo della risposta).
Sean Adkinson,

6
Oh! Sono corretto. Ho iniziato a usare wget http://example.com/page.php -qO- (Questo è un capitale Oh.) Quelle uscite standard SOLO il corpo della risposta. È quello che volevi?
Bob Stein,

Risposte:


157

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

oppure, se si desidera reindirizzare anche l'output di errore standard:

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

o, per codegolf :-)

wget -O-


12
Si consiglia di aggiungere -nvper evitare che l'indicatore di avanzamento sovrascriva l'output.
Tor Klingberg,

1
Questo approccio ha un problema: se lo stato della risposta non è 200, non stampa il corpo. Qualche idea per risolverlo?
Imaskar,

71

Una versione più semplice

wget -qO- http://example.com

equivalente a

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

dove

  • -q disattiva l'output del registro, comprese le informazioni sull'errore
  • -O -, equivalente a -O /dev/stdout, significa scaricare la pagina Web in un file denominato /dev/stdout.

2
Il primo funziona con wget di BusyBox, che è molto utile. Non credo che gli piaccia avere uno spazio dopo ilO
zymhan il

18
wget -qO /dev/null http://whatever.com/page.php
  • -q per farlo tacere
  • -O /dev/null per ignorare il contenuto della pagina

6

Puoi anche provare:

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

la -qrenderà "tranquilla"

Oppure fai andare il file in qualche pagina html temporanea che non ti dispiace avere. whatever.com/tempFile.html


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

Funziona sul mio mac con wget 1.12.

Potresti fornire qualche spiegazione su cosa fa il tuo codice?
Tamara Wijsman,

-O significa "scrivi output su questo file"
thomasrutter,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.