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