歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> SHELL編程 >> linux批量修改文件字符集shell腳本

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

日期:2017/3/1 16:49:49   编辑: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