歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> SHELL編程

linux批量修改文件字符集shell腳本

linux批量修改文件字符集shell腳本   需求:需要將 “/home/zichen/dxzs0305”目錄下所有PHP文件字符集由 UTF-8
轉換為GB2312  www.2cto.com   shell腳本內容: [html]  #!/bin/bash -x   SUBFIX="php"  #需要轉換的目標文件後綴    www.2cto.com   cd /home/zichen/dxzs0305     #目標文件根目錄      if [ -z $1 ];then       cd $PWD   else       if [ -d $1 ];then           cd $1       else           echo " $1 is not exist;"           exit 1       fi   fi      for i in $SUBFIX;   do       files=`find . -name "*.$i"`       for f in $files;       do           type=`file $f|awk -F':' '{print $2}' |awk  '{print $1}'` #獲取文件類型           if [ $type != "ISO-8859" ];then               iconv -f UTF-8 -t GB2312 -o $f $f   #使用  iconv函數進行轉換              #  enca -L UTF-8 -x zh_cn $f   #如果使用enca 進行轉換,需要安裝 enca    命令 sudo apt-get  install  enca            else               echo "$f encoding is :$type"           fi          done   done    iconv 函數參數簡介: iconv命令用於轉換指定文件的編碼,默認輸出到標准輸出設備,亦可指定輸出文件。 用法: iconv [選項...] [文件...] 有如下選項可用:  www.2cto.com   輸入/輸出格式規范: -f, --from-code=名稱 原始文本編碼 -t, --to-code=名稱 輸出編碼 信息: -l, --list 列舉所有已知的字符集 輸出控制: -c 從輸出中忽略無效的字符 -o, --output=FILE 輸出文件 -s, --silent 關閉警告 --verbose 打印進度信息 -?, --help 給出該系統求助列表 --usage 給出簡要的用法信息 -V, --version 打印程序版本號  
Copyright © Linux教程網 All Rights Reserved