За последние 24 часа нас посетили 17790 программистов и 1654 робота. Сейчас ищут 1506 программистов ...

wget | sed "meta refresh"

Тема в разделе "Регулярные выражения", создана пользователем artoodetoo, 5 ноя 2013.

  1. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    Чегойто не могу написать выражение, которое бы мне из полученной страницы вычленило URL куда указывает мета-тег. Ну или пустую строку если нет такого.

    Типа на странице
    Код (Text):
    1. <meta http-equiv="refresh" content="1; url=http://example.com/path/to/page.html">
    Типа в скрипте
    Код (Text):
    1. REDIRECTED_TO=`wget -S -O - $ADDRESS -o /dev/null 2>&1 | grep -ie "meta.*refresh" | sed 's|.*\(http://.*/.*\) .*|\1|'`
    После grep выходит строка с <meta...> А вот sed не могу научить извлечь УРЛ.
     
  2. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    1 вопрос для уточнения:
    скрипт баш? или пхп?
     
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    bash. перенести работу в PHP не вариант
     
  4. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    понял, ага, вижу группировку заэскейпил, про особенность sed в курсе значит )
    Однако в некоторых дистрибутивах на sed вешают алиас с запуском ключа -r, который переключает sed в режим работы со спецсимволами уже без слеша.
    Посмотри ето, а я пока между делом поколдую.
     
  5. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    Вижу вопрос попал в добрые руки )))
     
  6. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    попробуй такую
    Код (Text):
    1.  
    2. sed -n 's|.*\(http://.*\)">|\1|p'
     
  7. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    Спасибо! То, что нужно!