У мене є 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 wget1.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