sed -n -e "/はじまり/,/おわり/p" 複数行をsedで取得する
昨日知って感動した表現。これで、「はじまり」を含む行から「おわり」を含む行までを抽出できます。
たとえば、こんな hoge.html があったときに(h1が複数行に渡るってあんまないか、、、 でもあったんだよぅ)
…
<body>
<h1>
<a href="hogehoge">サンプルページのタイトルだよ。</a>
</h1>
<div class="text">
この辺から本文っすかね
…
とやると
<h1>
<a href="hogehoge">サンプルページのタイトルだよ。</a>
</h1>
こうなります。
始めはどういう理屈かぜんぜん分からなかったのですが、
sedの条件式の
行数,行数⇒ 指定した行数間の文字列を処理する。
の応用なんですね。
/はじまり/ と /おわり/ が実はそれぞれ行数を返しているので、
結果的に「はじまり」が含まれる行から「おわり」が含まれる行までを返すという。
sedは奥が深いです。