批量更改文件編碼格式 utf8到gb2312


一.查看文件編碼

  file name;//可以顯現文件的編碼格式(有的系統不可以)

二.文件編碼轉換

  使用iconv轉換,

  iconv -f encoding -t encoding inputfile;

例如:iconv -f utf-8 -t gb2312 file1;

用法:iconv [選項..]  [文件]

-f, 原始編碼

-t,輸出編碼

信息:

-l,---list 列舉系統所有安裝的已知字符集

輸出控制:

-c 從輸出中忽略無效的字符

-o ---output  輸出文件

 

實例:遍歷目錄下的所有文件,改變utf8編碼到gb2312

for i in `find ./ -type f -name '*.txt'`;

do

echo $i

echo ${i}.tmp

iconv -f utf-8 -t gb2312 $i>${i}.tmp

mv ${i}.tmp $i;

done

 

問題記錄:

iconv轉換失敗,腳本主機沒有暗轉gb2312編碼,只有gbk,導致一開始轉化老是失敗。

轉載1:

  1. #!/bin/bash  
  2.   
  3. #1.變量定義  
  4. directory="/home/wzy/Downloads/execl"  
  5. f_encoding="utf-8"  
  6. t_encoding="gbk"  
  7.   
  8. #2.遍歷子目錄  
  9. for dir in `ls $directory`  
  10. do  
  11.     if [ -d $directory/$dir ]  
  12.     then  
  13.         #3.遍歷子目錄的文件  
  14.         for file in `ls $directory/$dir`  
  15.         do  
  16.             if [ -e $directory/$dir/$file ]  
  17.             then  
  18.                 #4.文件類型轉換  
  19.                 iconv -f $f_encoding -t $t_encoding $directory/$dir/$file -o $directory/$dir/iconv.$file  
  20.                 #5.刪除原始文件  
  21.                 if [ $? -eq 0 ]  
  22.                 then  
  23.                     rm $directory/$dir/$file  
  24.                 fi  
  25.             fi  
  26.         done  
  27.     fi  
  28. done 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM