はじめに
macで.envファイルやconfig系のファイルなどで、「=」の後を置換するコマンドのメモです。
環境
macOS High Sierra 10.13.6
コマンド
今回はlaradockのenv-exampleに記載されているPHP_VERSION=7.3をPHP_VERSION=7.4にしたかったのでその例です。
sed -i '' 's/PHP_VERSION=.*/PHP_VERSION=7.4/g' ./laradock/env-example
説明
-i ''
sedを実行してもinvalid command code .とエラーになり、こちらの記事を参考に-i ''を追記して動くようになりました。
.*
例ではPHP_VERSION=の後にどんな文字列が入ってもその行をPHP_VERSION=7.4置換するようにしました。
注意点
「=」の後を置換というより行全体の置換になってしまいました。ちょっと記述間違えると悲惨な事になりそうなので-i 'hoge'など、バックアップファイルを残す方が安全だなぁと。
最後に
もっとスマートなやり方をご存知の方はご教示くださいm(__)m
最近、開発はLinuxもありかなぁと思い初めております。