首页 > 开发 > Linux Shell > 正文

Shell脚本把文件从GBK转为UTF-8编码

2020-07-27 19:16:00
字体:
来源:转载
供稿:网友

shell 脚本:

#!/bin/sh ## ## convert file from GB2312 to UTF-8## path="$1"unset optif [ "$2" = "force" ]; then	opt="-c -s"fiif [ -z "$path" ]; then	echo "nUsage: $0 <file or dir>n"elif [ ! -e "$path" ] ; then	echo "nERROR: destination: $path does not exist.n"fiif [ -f "$path" ] ; then	echo "Converting $path (gbk --> utf-8) ... "	if file "$path"|grep -q UTF-8 >/dev/null ; then		echo "Already converted"	else		iconv -f gbk $opt -t utf-8 "$path" > /tmp/$$.tmp		if [ $? -eq 0 ] ; then			echo "Success"			mv -f /tmp/$$.tmp "$path"		else			echo "Failed"		fi	fielif [ -d "$path" ] ; then	path=`echo "$path/"|sed 's//////'`	find "$path" -path "$path.*" -prune -o -type f -print|while read i	do		dir=`dirname $i`		file=`basename $i`		echo "Converting $dir/$file (gbk --> utf-8) ..."		iconv -f gbk -t utf-8 $opt "$i" > /tmp/$$.tmp 2>/dev/null		if [ $? -eq 0 ] ; then			echo "Success"			mv -f /tmp/$$.tmp "$i"		else			echo "Failed"		fi	donefi

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表