shell中怎么利用iconv实现批量文件转码-创新互联
                                            shell中怎么利用iconv实现批量文件转码,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

例子一:使用shell脚本实现批量转码的操作。
#!/bin/sh 
#
convertCodeFilePath=$1 
fromCode=$2 
toCode=$3 
 
for i in {1..1} 
do 
  [ -f $convertCodeFilePath ] 
  if [ $? -eq 0 ] 
  then 
    iconv -f $fromCode -t $toCode -c -o $convertCodeFilePath $convertCodeFilePath 
    if [ $? -ne 0 ] 
    then 
      echo $convertCodeFilePath "=>" convert code failed.      
    else 
      echo $convertCodeFilePath "=>" convert code success. 
    fi 
    break; 
  fi 
   
  [ -d $convertCodeFilePath ] 
  if [ $? -ne 0 ] 
  then 
    break; 
  fi 
     
  dir=`ls $convertCodeFilePath | sort -d` 
 
  for fileName in $dir 
  do 
    fileFullPatch=$convertCodeFilePath/$fileName 
     
    fileType=`echo $fileName |awk -F. '{print $2}'` 
     
    [ -d $fileName ] 
    if [ $? -eq 0 ] 
    then 
      continue 
    fi 
     
    if [ $fileType != 'sh' ] && [ $fileType != 'py' ] && [ $fileType != 'xml' ] && [ $fileType != 'properties' ] \ 
    && [ $fileType != 'q' ] && [ $fileType != 'hql' ] && [ $fileType != 'txt' ] 
    then 
      continue 
    fi 
     
    iconv -f $fromCode -t $toCode -c -o $fileFullPatch $fileFullPatch 
    if [ $? -ne 0 ] 
    then 
      echo $fileName "=>" convert code failed. 
      continue 
    else 
      echo $fileName "=>" convert code success. 
    fi     
  done 
done使用方式:
sh convertCode.sh /home/sam/data gbk utf-8
例子二:简洁版
用法示例:
cd ~/workspace/XXXProject ~/iconv_shell.sh ./ *java
好了,直接上代码~~
#!/bin/bash if [ "$#" != "2" ]; then echo "Usage: `basename $0` dir filter" exit fi dir=$1 filter=$2 echo $1 for file in `find $dir -name "$2"`; do echo "$file" iconv -f gbk -t utf8 -o $file $file done
关于shell中怎么利用iconv实现批量文件转码问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。
当前题目:shell中怎么利用iconv实现批量文件转码-创新互联
URL分享:http://www.scyingshan.cn/article/dcpopd.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 