
Quero extrair um link da tag http://www.rediff.com/news
abaixo<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>
usando algum comando Unix. Por favor, não há codificação para isso.
Responder1
Usar analisadores XML/HTML é uma maneira correta de manipular dados XML/HTML:
xmlstarletsolução:
sed 's/&/&/g' yourfile | xmlstarlet sel -t -v '//a[div/text() = "News"]/@href' -n
A saída:
http://www.rediff.com/news
sed 's/&/&/g'
- para converter o "e" comercial&
como um caractere especial em entidade HTML//a[div/text() = "News"]/@href
- expressão xpath, extraihref
o valor do atributo daa
tag se ela tiver um nó filhodiv
com textoNews