goo blog サービス終了のお知らせ 

Solaris: awkで文字列の区切り文字に文字列を使用できない

2008-09-18 23:33:44 | Solaris
Solaris: awkで文字列の区切り文字に文字列を使用できない
例えば、「echo "aaa:/bbb:/" | awk -F:/ '{ print $2}' 」の場合には、「/bbb」になってしまう。区切り文字の最初の1文字で区切ってしまう。
(awk 'BEGIN{FS=":/"~ でも駄目。)

Solarisのawkは仕様が古いものらしく、nawkを使用すれば、OK。
SUSELinuxでは普通にできたので、悩んでしまった。
ちなみに、AIXでは、区切り文字の文字列を使用すると、エラーになった。

Solaris:Bシェルで、test 引数が足りません

2008-09-08 21:26:11 | Solaris
SUSE Linuxで稼動したBシェル(sh)を、Solarisで動かすと、「test 引数が足りません」というエラーが発生して、動かない。

原因は、test -e を使用して、ファイルの存在チェックを行っていたが、Solarisのshでは、test -e はサポートしていないことにあった。
ソース

test -e をtest -f や test -d に訂正して、解決。