2013年5月3日金曜日

iMac-15 gnu-sed

/usr/bin/sed が不満なので、gnu-sed をインストールする。
(1)brew installコマンド
% brew install gnu-sed
% /usr/local/bin/gsed --version | head -1
/usr/local/bin/gsed (GNU sed) 4.2.2
名前が gsed になるのは気に入らない。
% brew uninstall gnu-sed
% brew install --default-names gnu-sed
% ls /usr/local/bin/*sed*
/usr/local/bin/sed
オプションdefault-namesを付けると、gsedでなくsedになった。

(2)/usr/bin/sed の挙動は不満
% echo bbb | nkf -sc > bbb.txt   ... CRLFのテキスト
% hexdump -C bbb.txt    ... 行の終わりが 0xd 0xa のとき
00000000  62 62 62 0d 0a                                    |bbb..|

標準コマンド sed でCRを削除したいとき、
cat bbb.txt | /usr/bin/sed -e 's/\r//g' | hexdump -C
00000000  62 62 62 0d 0a                                    |bbb..|
/usr/bin/sed ではCRを削除できない。

(3)/usr/local/bin/sed では良好
GNUコマンド sed でCRを削除したいとき、
% cat bbb.txt | /usr/local/bin/sed -e 's/\r//g' | hexdump -C
00000000  62 62 62 0a                                       |bbb.|
/usr/local/bin/sed ではCRを削除できる。
#環境変数PATHは/usr/local/binを先に指定しておく。
#tarも brew install --default-names gnu-tar としておこう。

0 件のコメント:

コメントを投稿