zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    GetEnumName 枚举名称 字符串
    拖拽文件
    小米手机Root 刷机
    微软语言 中文 英文 中英文
    MTP
    MD5加密算法全解析
    ORA-28000: the account is locked
    HTTP状态码
    HTTP 消息结构
    @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  • 原文地址:https://www.cnblogs.com/benmm/p/4001610.html
Copyright © 2011-2022 走看看