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