|
>4916 ありがとうございます。 expr index "${email}" @ や echo ${email} | awk '{ print substr($0,1,index($0,"@")-1)}' や ANS=`echo ${email} | awk '{printf "%s",index($0,"@")}'` 「@」が最初に現れた位置を取得して、cut で取り出し echo ${email} | cut -c1-`expr ${ANS} - 1` echo ${email} | cut -c`expr ${ANS} + 1` awkや、1回で取り出したかったので、expr でやったのですが、 expr index の形式使えないので、awkでやったのですが、 sed で置換する方法は気が付きませんでした。 ためして見ます。 |
|
>>4918 べた /usr/local/bin/iconv は GNU の libconv 同梱の iconv コマンド、 /usr/bin/iconv は Solaris 標準の iconv コマンドではないかと 思います。 GNU 版であれば、--version オプションを使うことで % iconv --version iconv (GNU libc) 2.3.4 Copyright (C) 2005 Free Software Foundation, Inc. (略) といった表示が得られるかと思います。 以下は Solaris 版と GNU 版の違いであったとして、という前提ですが、 機能差で選ぶなら↓を比較 (昔の Solaris 版 iconv は、不正なバイト列が あった場合即終了だった気がするのですが、現在はスキップという選択肢も 選べるんですかね? であればそれほど機能差はないかも) http://docs.sun.com/app/docs/doc/819-1210/6n3j74jpk?a=view http://www.gnu.org/software/libiconv/documentation/libiconv/iconv.1.html エンコーディングの多さで選ぶなら、/usr/local/bin/iconv -l と /usr/lib/iconv/iconv_data を比較。特に CP932 や UTF-8 などが絡む 場合は、手持ちの全ファイルを変換して結果を調べるくらいはやった 方がよいかと思います。 後は GNU が好きか、Solaris の世界で固めるのが好きか、でしょうか。 |