2010-01-20 (Wed) [長年日記]
_ シェルスクリプトの引数を一部加工して他のコマンドに渡す
シェルスクリプトの引数を一部だけ加工して他のコマンドに渡すには、どうすればいいだろう。
たとえば、UTF-8でパターンを受け取り、EUCのファイルをgrepで検索し、結果をUTF-8で出力するようなシェルスクリプトeucgrepを作りたいとする。
bashだったら配列を使って以下のように書けるようだ。
#!/bin/bash declare -a options while expr "$1" : "^-" > /dev/null ; do options=("${options[@]}" "$1") shift done pattern=`echo $1 | nkf -Wexm0` shift grep "${options[@]}" $pattern "$@" | nkf -Ewxm0
POSIXの範囲で同じことを実現できるだろうか。
_ Developers Summit 2010
今年は、「C++0x、Ruby、ECMAScript5 言語の国際標準化について」というパネルディスカッションに参加させていただくことになった。
技術的な話が中心になると思うので、興味がある方はどうぞ。
_ knu [POSIXの範囲だと配列は一本しかないのできついですね。 語彙が"$@", set -- ..., shift [N..]
_ shugo [なるほどー、evalですか。]