У меня есть 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 wget
1.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