У мене є URL-адреса на html-сторінці, і я хочу її отримати. Як я можу це зробити wget someArgs | grep keyword
?
Моя перша ідея була wget -q -O - url | grep keyword
, але вихід Wget обходить grep і виникає на терміналі в оригінальному вигляді.
У мене є URL-адреса на html-сторінці, і я хочу її отримати. Як я можу це зробити wget someArgs | grep keyword
?
Моя перша ідея була wget -q -O - url | grep keyword
, але вихід Wget обходить grep і виникає на терміналі в оригінальному вигляді.
Відповіді:
Найпростіший спосіб - це використовувати curl
параметр -s
для беззвучного:
curl -s http://somepage.com | grep whatever
curl
інж http://superuser.com/questions/431581
. З будь-якої причини я перевірив його саме з цією URL-адресою і не отримав жодного результату. Не знаю, чого мені не вистачає.
-L
вимикачем.
Збереження цього заради повноти.
Ваш приклад насправді повинен працювати. Синтаксис правильний, і ось скріншот, який я щойно демонстрував , зі старим хорошим GNU wget
1.13.4.
wget -q some-url -O - | grep something
Тож припускайте, що ваш шаблон неправильний, і він grep
буде просто виводити все, що він отримав.
-q
, повідомлення про помилку немає.
Ця помилка в v1.12.1 була виправлена в іншій версії . В даний час я використовую v1.15, і він працює як очікувалося.
Якщо ви хочете зафіксувати заголовки або труби, вони стандартно спрямовані на stderr, тому вам потрібно перенаправити їх. Наприклад:
wget -O - http://example.com/page.php > /dev/null 2>&1 | grep HTTP