shell轉碼腳本

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章