Shell脚本把文件从GBK转为UTF-8编码
shell脚本:
#!/bin/sh ## ##convertfilefromGB2312toUTF-8 ## path="$1" unsetopt if["$2"="force"];then opt="-c-s" fi if[-z"$path"];then echo"nUsage:$0<fileordir>n" elif[!-e"$path"];then echo"nERROR:destination:$pathdoesnotexist.n" fi if[-f"$path"];then echo"Converting$path(gbk-->utf-8)..." iffile"$path"|grep-qUTF-8>/dev/null;then echo"Alreadyconverted" else iconv-fgbk$opt-tutf-8"$path">/tmp/$$.tmp if[$?-eq0];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-typef-print|whilereadi do dir=`dirname$i` file=`basename$i` echo"Converting$dir/$file(gbk-->utf-8)..." iconv-fgbk-tutf-8$opt"$i">/tmp/$$.tmp2>/dev/null if[$?-eq0];then echo"Success" mv-f/tmp/$$.tmp"$i" else echo"Failed" fi done fi