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

发布时间:2022-04-19 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Shell脚本把文件从GBK转为UTF-8编码脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

shell 脚本:

#!/bin/sh 

## 
## convert file from GB2312 to UTF-8
## 

path="$1"
unset opt
if [ "$2" = "force" ]; then
	opt="-c -s"
fi

if [ -z "$path" ]; then
	echo "nUsage: $0 <file or dir>n"
elif [ ! -e "$path" ] ; then
	echo "nERROR: destination: $path does not exist.n"
fi

if [ -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
	fi
elif [ -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
	done
fi

脚本宝典总结

以上是脚本宝典为你收集整理的Shell脚本把文件从GBK转为UTF-8编码全部内容,希望文章能够帮你解决Shell脚本把文件从GBK转为UTF-8编码所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:Shell