sedコマンドでHTMLタグの中身を取得する
HTMLソースで以下のようなタグの場合、<h2>~</h2>に囲まれた「TEST」のみを取得したい場合ですが、sedコマンドを利用するとタグで囲まれた中身を取得できます
<h2>test</h2>
使用するsedコマンドは、「sed -e 's/<[^>]*>//g’」のようにします。<xx>~</xx>に囲んでいるHTMLタグを削除してます
#!/bin/bash html="<h2>test</h2>" echo $html | sed -e 's/<[^>]*>//g'
<table>, <h4>や特定のタグに対しての値も取得することができます。その場合もsedコマンドを利用します。
書式:「sed
-n
'/開始のタグ/,/終了のタグ/p’ 対象のファイル名」
# sample.html の一部 <body> <table> <tr><th></th><th>列-A</th><th>列-B</th></tr> <tr><td>行-1</td><td>A-1</td><td>B-1</td></tr> <tr><td>行-2</td><td>A-2</td><td>B-2</td></tr> <tr><td>行-3</td><td>A-3</td><td>B-3</td></tr> </table> </body> # tableで囲まれている箇所のみ表示する $ sed -n '/<table>/,/<\/table>/p' sample.html <table> <tr><th></th><th>列-A</th><th>列-B</th></tr> <tr><td>行-1</td><td>A-1</td><td>B-1</td></tr> <tr><td>行-2</td><td>A-2</td><td>B-2</td></tr> <tr><td>行-3</td><td>A-3</td><td>B-3</td></tr> </table>
ディスカッション
コメント一覧
まだ、コメントがありません