OSX:sed 日本語処理に問題? → 3.02コンパイル
#12/3に2008/11/10の日記からコピーして投稿。作業まとめがこの記事のラストにあります
Mac OS X 10.5.5 のターミナルにて、lsの結果をsedで変換しようとしたら、日本語の処理が怪しい感じだったので別バージョンをコンパイルしてみた。
(怪しい感じの内容:¥(.*¥)
にマッチした中に日本語が入るとCTRL-Cしないと終了できなくなる、ただし文字列または位置によるようだ ←なまじうまく動いていたケースもあったため悩んだ)
ftp://ftp.gnu.org/pub/gnu/sed/ より、sed-4.1.5.tar.gzをダウンロード。configureで
sed: 1: "install_sh=/Users/meg ...": command i expects ¥ followed by text
なるメッセージ。
sed: 1: "install_sh=/Users/meg ...": command i expects ¥ followed by text
メッセージで検索して、同じエラーに悩んでいるらしき人を発見。
http://blog.apokalyptik.com/2008/04/24/building-sed-for-osx/
この人は、まず sed-3.0.2, そして 4.1.5
をインストールしたようだ。
ftp://ftp.gnu.org/pub/gnu/sed/ より、sed-3.02.tar.gz(上記URLには3.0.2と書かれているがおそらく3.02だと思われる)をダウンロード。configureでエラーがでなかったのでmake。本環境のsed(/usr/bin/sed)を置き換えるのが嫌だったため(※今後の原稿書きとの兼ね合いを考慮)、コンパイルされたsed(ソースディレクトリ内のsedディレクトリに生成される)を~/binにsed302という名前でコピー。このver3.02で自分の目的の処理ができたので、ここまでで終了とした。へたれ上等。
作業まとめ
$ tar -xzf sed-3.02.tar.gz
$ cd sed-3.02/
$ ./configure --with-included-regex --with-included-gettext
$ make
$ cp sed/sed ~/bin/sed302 ←※通常ならsudo make install
| 固定リンク