sed の挙動はプラットフォームによって異なりますが、プログラムを用意しておくことにより差異を吸収できます。 FileUtils.sed("/file/path", /hoge/, "hage") module FileUtils def self.sed(file, pattern, replacement) File.open(file, "r") do |f_in| buf = f_in.read buf.gsub!(pattern, replacement) File.open(file, "w") do |f_out| f_out.write(buf) end end end end
![rubyでsed風の置換を行う | Hack](https://cdn-ak-scissors.b.st-hatena.com/image/square/0c4eb317df94471d281467b73d160f3f0f481f5b/height=288;version=1;width=512/http%3A%2F%2Faws.aipo.com%2Fcommon%2Fsource%2Fimg%2Fog_image.png)