
Ich möchte einen Link http://www.rediff.com/news
aus dem folgenden <a>
Tag extrahieren
<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>
mit einem Unix-Befehl. Bitte keine harte Codierung hierfür.
Antwort1
Die Verwendung von XML/HTML-Parsern ist eine gute Möglichkeit, XML/HTML-Daten zu bearbeiten:
xmlstarletLösung:
sed 's/&/&/g' yourfile | xmlstarlet sel -t -v '//a[div/text() = "News"]/@href' -n
Die Ausgabe:
http://www.rediff.com/news
sed 's/&/&/g'
&
- um das Et-Zeichen als Sonderzeichen in eine HTML-Entität umzuwandeln//a[div/text() = "News"]/@href
- XPath-Ausdruck, extrahierthref
Attributwerte desa
Tags, wenn es einen untergeordneten Knotendiv
mit Text hatNews