Как извлечь определенный URL из HTML-тегов с помощью команд UNIX

Как извлечь определенный URL из HTML-тегов с помощью команд UNIX

Я хочу извлечь ссылку из тега http://www.rediff.com/newsниже<a>

<a href="http://www.rediff.com/news" onclick="trackURL('http://track.rediff.com/click?url=___http://www.rediff.com/news___&cmp=news1_nav&lnk=news1_nav&nsrv1=ushome');return false;"><div class="n_tabnormal">News</div></a>

используя некоторые команды Unix. Пожалуйста, не надо жестко кодировать для этого.

решение1

Использование парсеров XML/HTML — это правильный способ манипулирования данными XML/HTML:

xmlstarletрешение:

sed 's/&/&amp;/g' yourfile | xmlstarlet sel -t -v '//a[div/text() = "News"]/@href' -n

Выход:

http://www.rediff.com/news

  • sed 's/&/&amp;/g'- для преобразования амперсанда &как специального символа в HTML-сущность

  • //a[div/text() = "News"]/@href- выражение xpath, извлекает hrefзначение атрибута aтега, если у него есть дочерний узел divс текстомNews

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