sedを使用してhtmlタグから値を抽出したいと思います。
文書:
<td class=xl7128074></td>
<td class=xl7128074></td>
<td class=xl7128074></td>
</tr>
<tr height=21 style='height:15.75pt'>
<td height=21 class=xl8428074 style='height:15.75pt;border-top:none'>ANT</td>
<td class=xl10028074 style='border-top:none;border-left:none'>$interoprfbcheck_prodconnectorstatus_ANT</td>
<td class=xl8228074>ANT</td>
<!-- This is set by Python -->
<td class=xl155577 style='border-left:none;font-size:11.0pt;color:#006100;
font-weight:400;text-decoration:none;text-underline-style:none;text-line-through:
none;font-family:Arial;border-top:none;border-right:1.0pt solid windowtext;
border-bottom:1.0pt solid windowtext;border-left:1.0pt solid windowtext;
background:#E6EFCE;mso-pattern:black none'>
GREEN</td>
<td class=xl7128074></td>
<td class=xl7128074></td>
<td class=xl7128074></td>
期待される結果が欲しい
ANT
$interoprfbcheck_prodconnectorstatus_ANT
ANT
GREEN
私はsed -n 's/<td.*>\(.*\)<\/td>/\1/p' filename.html
次のような結果を使用して取得しています:
ANT
$interoprfbcheck_prodconnectorstatus_ANT
ANT
GEEENは来ません。同じ行にないので、次の行の結果を得るために追加できるものはありますか?
ベストアンサー1
html2
これをsedの「プリプロセッサ」として使用できます。
$ html2 <file 2>/dev/null | sed '/td=/!d;s/^.*td=//'
ANT
$interoprfbcheck_prodconnectorstatus_ANT
ANT
GREEN