主页 > 知识库 > shell实现字符编码转换工具分享

shell实现字符编码转换工具分享

热门标签:打电话机器人接我是他的秘书 地图标注员都是年轻人 揭阳智能电话机器人推荐 百度地图标注错了有责任吗 如果做线上地图标注 江苏云电销机器人公司 客服外呼系统怎么样 华锋e路航港口地图标注 河南信誉好的不封卡电话外呼系统

复制代码 代码如下:

#!/bin/bash

: mark
转码工具,支持UTF-8转GBK和GBK转UTF-8
孔令飞@2012-05-07
mark

#set -x

scode="gbk"
dcode="utf-8"

function Usage()
{
 cat EOF
Usage: conv [OPTIONS] [DIR]
[-u] GBK to UTF-8
[-g] UTF-8 to GBK
EOF
 exit 1
}


#将当前目录下所有普通文件进行转码 GBK to UTF-8
function g2u()
{
 local dir=$1
 printf "Convering $dir ......"
 for file in $(ls $dir)
 do
  file="$dir/$file"
  if [ -f $file ];then

   coding=$(file -b $file | cut -d ' ' -f1)

   #进行转码
   if [ "$coding" = "ISO-8859" ];then
    local tmpfile=$(mktemp)
    Fright=$(stat -c %a $file)
    Fuser=$(stat -c %U $file)
    Fgro=$(stat -c %G $file)
    iconv -f $scode -t $dcode $file > $tmpfile || Usage
    mv $tmpfile $file
    chmod $Fright $file
    chown $Fuser:$Fgrp $file
   fi
  fi
 done
 printf "      done\n"
}

function u2g()
{
 local dir=$1
 printf "Convering $dir ......"
 for file in $(ls $dir)
 do
  file="$dir/$file"
  if [ -f $file ];then

   coding=$(file -b $file |cut -d ' ' -f1)

   #进行转码
   if [ "$coding" = "UTF-8" ];then
    local tmpfile=$(mktemp)
    Fright=$(stat -c %a $file)
    Fuser=$(stat -c %U $file)
    Fgro=$(stat -c %G $file)
    iconv -f $dcode -t $scode $file > $tmpfile || Usage
    mv $tmpfile $file
    chmod $Fright $file
    chown $Fuser:$Fgrp $file
   fi
  fi
 done
 printf "      done\n"
}

[ $# -ne 2 ] Usage

while getopts ug opt
do
 case $opt in
  u) echo "Convert gbk coding to utf-8 ...."
  for dir in $(find $2 -type d)
  do
   g2u $dir
  done

  g) echo "Convert utf-8 coding to gbk ...."
  for dir in $(find $2 -type d)
  do
   u2g $dir
  done

  *) Usage
  exit 1

 esac
done

exit 0

您可能感兴趣的文章:
  • 基于字符集、字符编码与HTTP编码解码之万象详解
  • Java字符编码解码的实现详解
  • Java反转字符串和相关字符编码的问题解决
  • php字符编码转换之gb2312转为utf8
  • mysql修改数据库编码(数据库字符集)和表的字符编码的方法
  • 微信开发中mysql字符编码问题

标签:马鞍山 赤峰 许昌 金昌 邵阳 淘宝邀评 巴彦淖尔 娄底

巨人网络通讯声明:本文标题《shell实现字符编码转换工具分享》,本文关键词  shell,实现,字符,编码,转换,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《shell实现字符编码转换工具分享》相关的同类信息!
  • 本页收集关于shell实现字符编码转换工具分享的相关信息资讯供网民参考!
  • 推荐文章