はじめに
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もありかなぁと思い初めております。