やったこと
sed でテキストの置換処理を調べていたのですが、書いてある通りに動かないことがありました。
それは、BSD と GNU で異なることが原因のようでした。
Mac ではデフォルトでは sed は BSD 版が入っているようです。
今回、以下をやりました。
- GNU 版のインストール
- BSD、GNUの確認方法
調査
GNU 版のインストール
brew でインストールします。
$ brew install gnu-sed$ gsed --version
gsed (GNU sed) 4.7
Copyright (C) 2018 Free Software Foundation, Inc.
(以下省略)BSD、GNUの確認方法
$ man sed出力結果 (抜粋)
SED(1) BSD General Commands Manual SED(1)
NAME
sed -- stream editorBSD 版が入っていることが確認できました。