Как объединить 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 или pipe, они стандартно направляются в 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

Связанный контент