"sed"を勉強してみる

GWの後半でやることもなく前からやりたかったシェルスクリプトを書いてみた。そんなたいしたものではないのですが、Jリーグの試合結果、経過をWebからもらってきて携帯ブラウザからストレス無く見ることが出来るよう整形するというスクリプトです。
外出先で気になるのがJリーグの試合なのですが、携帯で見ようとすると有料だったり、更新が遅かったり、見たくもない広告が表示されたりと適当なサイトを見つけることが出来ません。それなら自分でやろうと前から思っていたものを実行に移したわけです。
データはTSBのスーパーサッカーのサイトからいただくことにしました。ここの更新は早くて点が入ると1分くらいで反映されます。で、きょうの本題ですが、いただいたデータをどうやって加工するのかということです。そこで"sed"というコマンドを使うわけですが、始めはよく分からなくて"man sed"を見ても

sed はストリームエディタである。ストリームエディタは、入力ストリーム (ファイルまたはパイプラインからの入力) に対して基本的なテキスト変換を行うために用いられる。 sed は編集スクリプトを使える (ed のような) エディタといろいろな面で似ているが、 sed は入力に対して 1 パスだけで動作するので、より効率的である。また sed はパイプラインのテキストに対してフィルタ動作を行うことができ、この点は他のタイプのエディタとはっきり違う。

なんのことだかさっぱりでした。しかし、「SED 教室」というのを見つけましてここをじっくり読んでみると丁寧に解説されているためよく分かります。既に15年前に書かれた文章ですがはんと参考になりました。
最終的には

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=iso-2022-jp">
<meta http-equiv="Pragma" content="no-cache">
<TITLE>試合速報! 20:50</TITLE>
</HEAD>
<BODY>

試合速報!<BR> ▼J1第10節1日目<BR> 5月6日(日)<BR> 大分1(終了)2広島[九石ド]<BR> 横浜FC0(終了)3神戸[三ツ沢陸上]<BR> G大阪1(終了)1清水[万博]<BR> 新潟3(終了)1甲府[東北電ス]<BR> 鹿島1(終了)1横浜FM[カシマ]<BR> 磐田1(終了)0名古屋[エコパ]<BR> 川崎F5(終了)2F東京[等々力]<BR> 大宮1(終了)1浦和[埼玉]<BR> 千葉1(終了)1柏[フクアリ]<BR> ▼J2第14節1日目<BR> 5月6日(日)<BR> 愛媛0(終了)1山形[愛媛陸]<BR> 京都1(終了)4東京V[西京極]<BR> 水戸1(終了)1徳島[笠松]<BR> 札幌1(終了)0仙台[札幌]<BR> 鳥栖1(終了)0C大阪[鳥栖]<BR> 湘南3(終了)2草津[平塚]<BR> ▼北京オリンピック2008アジア地区第2次予選<BR> 5月16日(水)<BR> U22香港(21:10)U22日本<BR> Update_070506_2050<BR> Update Completed<BR>

</BODY>
</HTML>

こんなhtmlファイルを作ってくれました。