明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線(xiàn)學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

Ubuntu查看與大局部更改文件編碼的方法

[摘要]我們都知道在Windows下文件編碼默認(rèn)為gbk或者是gb2312,但很多用戶(hù)有時(shí)需要把Windows下的文件移到Linux系統(tǒng)中,所以轉(zhuǎn)移后就經(jīng)常出現(xiàn)亂碼的情況,這該怎么辦呢?接下來(lái)小編就給大家介...

  我們都知道在Windows下文件編碼默認(rèn)為gbk或者是gb2312,但很多用戶(hù)有時(shí)需要把Windows下的文件移到Linux系統(tǒng)中,所以轉(zhuǎn)移后就經(jīng)常出現(xiàn)亂碼的情況,這該怎么辦呢?接下來(lái)小編就給大家介紹下Ubuntu查看和批量修改文件編碼的方法。

Ubuntu查看和批量修改文件編碼的方法

  使用enca工具可以進(jìn)行文件編碼的查看。

  Ubuntu下的安裝命令:

  sudo apt-get install enca

  enca查看文件

  enca -L zh_CN file 查看文件編碼

  enca -L zh_CN -x UTF-8 file 更改文件編碼

  enca -L zh_CN -x UTF-8 《 file1 》 file2 不想覆蓋原文件

  下面是一個(gè)腳本,批量更改文件編碼:

  #!/bin/bash

  #將文件編碼更改為UTF-8

  #用法

  #1. 將文件命名encoding.sh

  #2. chmod +x encoding.sh

  #3. 。/set_encoding.sh

  #4. 輸入目錄名稱(chēng)

  #5. 輸入是否遞歸更改

  #$1表示是否要遞歸修改文件編碼

  function change_file_encoing(){

  for file in $(ls -l awk ‘{print $9}’)

  do

  if [[ -d “$file” && $1 = y ]];then

  cd $file

  echo $file

  change_file_encoing $1

  cd 。。

  elif [[ -f “$file” ]];then

  echo $file

  enca -L zh_CN -x UTF-8 $file

  fi;

  done;

  #ecna -L zh_CN file UTF-8

  }

  read -p “please enter the dir path:” path #讀取目錄路徑

  if [ ! -x “$path” ]; #判斷目錄是否存在且是否具有執(zhí)行權(quán)限

  then

  echo “dir path not exists”

  else

  read -p “please enter if you want to recursive?y/n:” recur #是否遞歸

  fi

  if [ $recur = “y” ];

  then

  cd $path

  change_file_encoing “y” #遞歸修改文件編碼

  else

  cd $path

  change_file_encoing “n” #非遞歸修改

  fi

  Ubuntu查看和批量修改文件編碼的方法就介紹到這,不同系統(tǒng)的默認(rèn)文件編碼是不一樣的,因此用戶(hù)可以通過(guò)上面介紹的方法修改編碼來(lái)解決亂碼問(wèn)題。


Linux是一套免費(fèi)使用和自由傳播的類(lèi)Unix操作系統(tǒng)