Usar analisadores XML / HTML é uma maneira correta de manipular dados XML / HTML:
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
- xpath expression, extrai o valor do atributohref
da taga
se tiver o nó filhodiv
com o textoNews