当前位置 博文首页 > Shell脚本把文件从GBK转为UTF-8编码

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

    作者:admin 时间:2021-02-20 15:06

    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

    js
    下一篇:没有了