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
  • 相关阅读:
    poj2528 Mayor's posters(线段树区间修改+特殊离散化)
    codeforces 733D Kostya the Sculptor(贪心)
    codeforces 733C Epidemic in Monstropolis
    poj 2828--Buy Tickets(线段树)
    lightoj 1125
    HDU 2795 Billboard (线段树)
    hdu 5945 Fxx and game(dp+单调队列! bc#89)
    poj3666 Making the Grade(基础dp + 离散化)
    codeforces 652D
    lightoj 1140
  • 原文地址:https://www.cnblogs.com/benmm/p/4001610.html
Copyright © 2011-2022 走看看