BSD sed
Macの標準のsedはBSDのsedでGNUのsedとはオプションが異なる。
例えば-iオプションでファイルを編集する場合、BSDのsedでは-iオプションに引数が必要となる。
LinuxとMacで共通のスクリプトを書きたい場合にオプションの違いが邪魔になるのでできるだけ共通のコマンドを使いたい。
gnu-sed
HomebrewでインストールできるGNUのsedを使うとBSDのsedと同じオプションで使える。
$ brew install gnu-sed
コマンドはgsedとしてインストールされるので、sedの代わりにgsedを使う。gsedを使えばBSDのsedと同じオプションで使える。
例えば-iオプションでファイルを編集する場合は以下のように引数無しで使える。
$ gsed -i 's/old/new/g' file.txt
alias
BSDのsedが必要無い場合は.bashrcや.zshrcでsedをgsedにaliasしておくと便利。
alias sed='gsed'
\第一線のプログラマーの行動原理を学べる!/
