
Quiero extraer un enlace http://www.rediff.com/news
de la siguiente <a>
etiqueta
<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 algún comando de Unix. Por favor, no hay codificación rígida para esto.
Respuesta1
Usar analizadores XML/HTML es una forma correcta de manipular datos XML/HTML:
xmlestrellasolución:
sed 's/&/&/g' yourfile | xmlstarlet sel -t -v '//a[div/text() = "News"]/@href' -n
La salida:
http://www.rediff.com/news
sed 's/&/&/g'
- para convertir el signo comercial&
como un carácter especial en una entidad HTML//a[div/text() = "News"]/@href
- expresión xpath, extraehref
el valor del atributo dea
la etiqueta si tiene un nodo secundariodiv
con textoNews