むつの日記

01278950 :むつ 2005-10-02 10:14
>>34cf7535
m_check() 間違えてました。正しくは、
m_check(){
    if [ "$MC" = "Shift_JIS" ]; then
        MC="sjis"
    elif [ "$MC" = "EUC-JP" ]; then
        MC="euc"
    elif [ "$MC" = "UTF-8" ]; then
        MC="utf8"
    elif [ "$MC" = "ISO-2022-JP" ]; then
        MC="jis"
    else
        MC="ascii"
    fi
}
こんな感じ。
あと、expr コマンドも必要ですね。

nkf が無い場合、iconv でも次のようにすればそれなりに判別できるっぽいです。iconv はマシン依存ですが。

#!/bin/sh

CODE="UTF-8 SHIFT_JIS EUC-JP ASCII"
ICONV=/usr/bin/iconv

for i in $CODE; do
    $ICONV -f $i -t ISO-2022-JP $1 > /dev/null 2>&1 && \
    OUT=$i
done

if [ "$OUT" = "ASCII" ]; then
    $ICONV -f ISO-2022-JP -t ASCII $1 > /dev/null 2>&1 || \
    OUT="ISO-2022-JP"
fi

echo "$OUT"
#ここまで

2byte スペースで表記してますので、こぴぺしただけじゃ動きません。
sed -e "s/    /\t/g" とかなんとか。
Powered by shinGETsu.