萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Ubuntu 查看與批次修改檔案編碼:enca 工具與遞迴轉碼腳本完整指南

Windows 預設編碼 GBK/GB2312,Linux 預設 UTF-8,跨平台移動檔案常發生亂碼。Ubuntu 使用 enca 工具可快速偵測與批次轉碼。

enca 安裝與基本用法

sudo apt-get install enca

# 查看編碼
enca -L zh_CN filename

# 就地轉碼為 UTF-8
enca -L zh_CN -x UTF-8 filename

# 轉碼並另存新檔
enca -L zh_CN -x UTF-8 < file1 > file2

批次遞迴轉碼腳本 (encoding.sh)

#!/bin/bash
# 將指定目錄下所有檔案編碼轉為 UTF-8
function change_file_encoding() {
  for file in $(ls -1); do
    if [[ -d "$file" && "$1" = "y" ]]; then
      cd "$file"
      echo "進入目錄: $file"
      change_file_encoding "y"
      cd ..
    elif [[ -f "$file" ]]; then
      echo "轉碼: $file"
      enca -L zh_CN -x UTF-8 "$file"
    fi
  done
}

read -p "請輸入目錄路徑: " path
if [[ ! -x "$path" ]]; then
  echo "目錄不存在或無執行權限"; exit 1
fi
read -p "是否遞迴處理子目錄? (y/n): " recur
cd "$path"
change_file_encoding "$recur"

使用方法

  1. 儲存為 encoding.sh
  2. chmod +x encoding.sh
  3. ./encoding.sh 依提示輸入路徑與遞迴選項

此腳本可一次性解決大量遷移檔案的編碼亂碼問題,支援遞迴處理子目錄,生產環境遷移必備工具。

copyright © 萬盛學電腦網 all rights reserved