macのsedでenvなどの=の後を置換する方法
はじめに
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もありかなぁと思い初めております。
Author And Source
この問題について(macのsedでenvなどの=の後を置換する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/TDC/items/a20da319c4dfbe6add37著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .