sed で改行を挟んだ正規表現を使う話

sedの正規表現の中に改行を含めるのは不可能なので、一旦 N コマンドを使って次の行と連結する。
連結しただけでは意味がないので、連結と次のコマンドをセットで行なわなければならない。ワンライナーでも、普通にセミコロンで区切って複数コマンドが書ける。即ち、

sed -e '/foo$/N;s/foobaa/vaz/g'

ちなみに、一つのアドレスの後ろに {} を置いてその中に複数コマンドを記述することも可能だそうだ。この場合、 {} の中にアドレス+コマンドも書ける。

sed メモ

大分まえに書きかけた記事を復活させてみた。
古い日記のアーカイブをこちらに持ってくるときに、あれこれ sed で直した時のノウハウ(?)の一部。


19:45:49 - 03.03.08 - kuroyagi - その他雑記 - 9002x