shell转码脚本

穿精又带淫゛_ 提交于 2019-12-01 17:02:35

shell转码脚本

20191017


!/bin/bash

#iconv -f GB2312 -t utf-8 "filename.sql" -o "newfilename.sql"

#将GB2312文件转换为UTF-8文件
#1个参数:
#       filename:单个文件名称

# 要保证源文件确实是gb2312编码,否则转换之后为乱码!!!
# 不能确定的就一个一个打开看看,一个一个进行转码
# 如何自动识别编码?

filename=$1
nump=$#

function main(){

    #临时文件夹,保存原始文件
    if [ ! -d ./temp_dir ]
    then
        mkdir ./temp_dir
    fi
    
    #单个文件,有一个参数
    let flag=$nump
    if [[ ${flag} = 1 ]]
    then
        mv ${filename} ./temp_dir/${filename}
        iconv -f GB2312 -t utf-8 -c ./temp_dir/${filename} -o ${filename}
        echo "succeed!"
        exit 0
    fi
    
    #多个文件,无参数
    if [[ ${flag} = 0 ]]
    then
        cd $(dirname $0); pwd
        for fileitem in *
        do
            if [ -f ${fileitem} ]
            then
                #echo ${fileitem}
                mv ${fileitem} ./temp_dir/${fileitem}
                iconv -f GB2312 -t utf-8 -c ./temp_dir/${fileitem} -o ${fileitem}
            fi
        done
        echo "succeed!"
    fi
}

main
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!