| 在我们使用的Windows系统中,文件的编码都是默认为gbk或者gb2312的,不过有的用户在所以电脑的时候,需要把Windows下的文件移到Linux系统中,但是在转移后却经常出现乱码的问题,对于这样的问题我们应该怎么办呢?下面就让小编来介绍下,关于Ubuntu查看和批量修改文件编码的具体操作方法吧! 
 使用enca工具可以进行文件编码的查看。
 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 不想覆盖原文件
 下面是一个脚本,批量更改文件编码:
 #!/bin/bash
 #将文件编码更改为UTF-8
 #用法
 #1. 将文件命名encoding.sh
 #2. chmod +x encoding.sh
 #3. 。/set_encoding.sh
 #4. 输入目录名称
 #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” ]; #判断目录是否存在且是否具有执行权限
 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查看和批量修改文件编码的操作方法就介绍完了,要提醒用户的是,在不同的系统中默认文件编码是不一样的,因此用户可以通过上面介绍的方法修改编码来解决乱码问题。
 |