Ich habe eine HTML-Seite URL und ich möchte es grep. Wie kann ich das machen wget someArgs | grep keyword
?
Meine erste Idee war wget -q -O - url | grep keyword
, aber die Ausgabe von wget umgeht grep und entsteht auf dem Terminal in seiner ursprünglichen Form.
Antworten:
Am einfachsten ist es,
curl
die Option-s
für stumm zu verwenden:quelle
curl
Sie eshttp://superuser.com/questions/431581
. Aus irgendeinem Grund habe ich es mit dieser bestimmten URL getestet und keine Ausgabe erhalten. Keine Ahnung, was ich vermisse.-L
Schalter.Der Vollständigkeit halber behalten Sie dies bei.
Ihr Beispiel sollte tatsächlich funktionieren. Die Syntax ist korrekt, und hier ist ein Screencast, den ich gerade mit einer guten alten GNU
wget
1.13.4 demonstriert habe.Nehmen wir also an, Ihr Muster ist falsch und
grep
gibt einfach alles aus, was es hat.quelle
-q
gibt es keine Fehlermeldung.Dieser Fehler wurde in Version 1.12.1 in einer anderen Version behoben . Derzeit verwende ich v1.15 und es funktioniert wie erwartet.
quelle
Wenn Sie nach Grep- oder Pipe-Headern suchen, sind diese standardmäßig an stderr gerichtet, sodass Sie sie umleiten müssen. Z.B:
quelle
Das
wget
schreibt seine Ausgabe aufstderr
nicht zustdout
, also muss man das umleitenstderr
zustdout
:quelle