改行を含めた置換がしたい

テキストファイルの中で改行を含めた置換をしたいときがあります。
つまり特定の2行が連続していることが前提なのですが、本日ハマりました。

数か月前に同じようなことをRubyで対処したので今回もそれを流用したのですが、なぜか動きません。
一時間ぐらい悩んで判明しました。下記が原因でした。

改行コード\nが原因ですね。

改行コードは基本的にOSに依存します(エディタにも依存するかも?)。
Windowsで作ったファイルはCR+LFなので\r\nです。
UNIX系だとLFなので\nです。

今回はWindowsで作ったファイルだったので\r\nとしたら動きました。

というか\r\n, \n, \rのどれでも動くように書き換えるべきですが、%rの中での書き方がわからずあきらめました。

ところで\rはMacOS8とか9の時代の話かもしれません(もはや古の時代ですが)。
今のMacはUNIX系OSなので。