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

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

转载于:https://www.cnblogs.com/benmm/p/4001610.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值