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

时间:2021-05-22

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章