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