码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-09-30 13:45:19      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:des   http   io   ar   for   文件   sp   div   art   

http://www.jb51.net/article/51308.htm

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/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编码

标签:des   http   io   ar   for   文件   sp   div   art   

原文地址:http://www.cnblogs.com/benmm/p/4001610.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!