
Я хочу извлечь ссылку из тега 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/&/&/g' yourfile | xmlstarlet sel -t -v '//a[div/text() = "News"]/@href' -n
Выход:
http://www.rediff.com/news
sed 's/&/&/g'
- для преобразования амперсанда&
как специального символа в HTML-сущность//a[div/text() = "News"]/@href
- выражение xpath, извлекаетhref
значение атрибутаa
тега, если у него есть дочерний узелdiv
с текстомNews