Wie leiten Sie die wget-Antwort auf standard out um?

148

Ich habe alle fünf Minuten eine crontabthat wgetsa PHP-Seite (nur um den PHP-Code auszuführen), und ich möchte die Ausgabe der Anfrage an standard out senden, während ich die normale wgetAusgabe an /dev/null(oder auf andere Weise verstecke). Ich konnte es im wgetHandbuch nicht finden .

Ich suche nach etwas wie:

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

Weiß jemand?

Sean Adkinson
quelle
5
Mit dem falschen Titel sollte "Wie leiten Sie wget auf null um?"
Bob Stein
2
@ BobStein-VisiBone Ich denke es ist richtig betitelt. Ich wollte, dass das Ding, das wget-ed ist, zu a stdoutgeht und das Normale, stdoutzu dem es geht null(dh ignoriere, was es normalerweise druckt, und drucke stattdessen den Antworttext).
Sean Adkinson
6
Oh! Ich stehe korrigiert. Ich habe angefangen wget http://example.com/page.php -qO- (Das ist ein Großteil von Oh.) Dieser Standard gibt NUR den Antworttext aus. Ist es das was du wolltest?
Bob Stein

Antworten:

157

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

oder, wenn Sie auch die Standardfehlerausgabe umleiten möchten:

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

oder für codegolf :-)

wget -O-

Tomas
quelle
12
Möglicherweise möchten Sie hinzufügen -nv, um zu vermeiden, dass die Fortschrittsanzeige die Ausgabe überschreibt.
Tor Klingberg
1
Dieser Ansatz hat ein Problem: Wenn der Antwortstatus nicht 200 ist, wird der Text nicht gedruckt. Irgendwelche Gedanken, um es zu lösen?
Imaskar
71

Eine einfachere Version

wget -qO- http://example.com

gleichwertig

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

wo

  • -q Schaltet die Ausgabe des Protokolls einschließlich der Fehlerinformationen aus
  • -O -Entspricht -O /dev/stdout, bedeutet, dass die Webseite in eine Datei mit dem Namen gespeichert wird /dev/stdout.
Martin Wang
quelle
2
Der erste funktioniert mit BusyBox's wget, was sehr hilfreich ist. Ich glaube nicht , es mag ein Leerzeichen nach dem mitO
zymhan
18
wget -qO /dev/null http://whatever.com/page.php
  • -q um es leise zu machen
  • -O /dev/null um den Seiteninhalt zu ignorieren
Unglaube
quelle
6

Sie können auch versuchen:

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

das -qwird es "leise" machen

Oder lassen Sie die Datei auf eine temporäre HTML-Seite gehen, die Ihnen nichts ausmacht. whatever.com/tempFile.html


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

quelle
Es funktioniert auf meinem Mac mit Wget 1.12.
Können Sie erklären, was Ihr Code bewirkt?
Tamara Wijsman
-O bedeutet "Ausgabe in diese Datei schreiben"
ThomasRutter