Kouhei Sutou
kou****@clear*****
Wed Sep 17 10:45:55 JST 2014
In <5418E111.3060009 �� clear-code.com> "Re: [Groonga-commit] droonga/droonga-http-server �� 6f6f6d9 [master] Disable EPEL by default" on Wed, 17 Sep 2014 10:17:05 +0900, YUKI Hiroshi <yuki �� clear-code.com> wrote: >> sedには-i(in-place)というオプションがあって、それを使うと >> 一時ファイルを作らずに内容を書き換えることができるんですよ。 >> それを使うとこんな感じで書けますよ。 >> >> $sed -i.bak -e "s/enabled=1/enabled=0/" $epel_repo > > そのオプションの存在は知っていたのですが、敢えて避けていました。 > というのも、今のところはBSD系はサポートしていないのですが(といいつつ、 > 最初の方で「-r」と「-E」の違いを吸収するためにBSDかどうかの判別をすでに > やってしまってますけど……)、BSD sedとGNU sedでは-iオプションの取り方が違 > う(どっちかは「-i.bak」、もう片方は「-i .bak」でないといけない)ので、 > ややこしいからこのオプションはなるべく使いたくないなあと思っておりまして…… それ、バックアップファイルを残さない時だけなんですよ。 BSD sedだと-i ''としないといけなくて、GNU sedだと-i''でいけ ます。 -i.bakのときの挙動はどちらも一緒です。