wgetとgrepを組み合わせる方法

wgetとgrepを組み合わせる方法

HTML ページの URL があり、それを grep したいのですが、どうすればいいでしょうかwget someArgs | grep keyword?

私の最初のアイデアは でしたがwget -q -O - url | grep keyword、wget の出力は grep をバイパスし、元の形式でターミナルに表示されます。

答え1

最も簡単な方法curl-s静けさ:

curl -s http://somepage.com | grep whatever

答え2

完全性のためにこれを残しておきます。

あなたの例は実際に動作するはずです。構文は正しく、これは私がそれを実演するために撮ったスクリーンキャストです、古き良き GNU wget1.13.4 を搭載。

wget -q some-url -O - | grep something

したがって、パターンが間違っていると仮定して、grep取得したすべてのものを出力します。

答え3

ヘッダーを grep またはパイプする場合、それらは標準で stderr に送信されるので、リダイレクトする必要があります。例:

wget -O - http://example.com/page.php > /dev/null 2>&1 | grep HTTP

答え4

wget出力stderr を ではなくに書き込むstdoutので、stderrを にリダイレクトする必要がありますstdout

wget -q -O - url 2&>1 | grep keyword

関連情報