linux 编码转换 任意编码转换 通用转换 当无法确认源编码时 一个批量转换脚本

转载请注明出处:http://www.cnblogs.com/blazer/p/7808639.html

一个比较通用的方法,将所有系统已有编码,都转换一遍,从结果中去筛选你需要的编码。

如果你执行: sh test.sh t1.csv,则会生成t1.csv.head.result文件,你需要从中去筛选需要的编码。

执行命令:

sh test.sh $fileName

脚本文件: 

if [ "$1" == "" ];
then
    echo "Usage : sh shell $fileName"
    echo "please input $fileName"
    exit 0
fi

fileName=$1
head -n 1 $fileName > $fileName.head
for a in `iconv --list | sed 's///$//' | sort`; do
    iconv -f $a -t UTF-8 $fileName.head > /dev/null
    if [ "$?" == "0" ];
    then
        echo $a >> $fileName.head.result
        iconv -f $a -t UTF-8 $fileName.head >> $fileName.head.result
    fi
done

 将内容保存到test.sh

原文地址:https://www.cnblogs.com/blazer/p/7808639.html