⑴我们都知道在Windows下文件编码默认为gbk或者是gb,但很多用户有时需要把Windows下的文件移到Linux系统中,所以转移后就经常出现乱码的情况,这该怎么办呢?接下来小编就给大家介绍下Ubuntu查看和批量修改文件编码的方法。
⑵使用enca工具可以进行文件编码的查看。
⑶Ubuntu下的安装命令:
⑷sudo apt-get install enca
⑸enca查看文件
⑹enca -L zh_ file 查看文件编码
⑺enca -L zh_ -x UTF- file 更改文件编码
⑻enca -L zh_ -x UTF- 《 file 》 file 不想覆盖原文件
⑼下面是一个脚本,批量更改文件编码:
⑽#!/bin/bash
⑾#将文件编码更改为UTF-
⑿#. 将文件命名encoding.sh
⒀#. chmod +x encoding.sh
⒁#. 。/set_encoding.sh
⒂#. 输入目录名称
⒃#. 输入是否递归更改
⒄#$表示是否要递归修改文件编码
⒅function change_file_encoing({
⒆for file in $(ls -l|awk ‘{print $}’
⒇if [[ -d “$file” && $ = y ]];then
⒈cd $file
⒉echo $file
⒊change_file_encoing $
⒋elif [[ -f “$file” ]];then
⒌echo $file
⒍enca -L zh_ -x UTF- $file
⒎#ea -L zh_ file UTF-
⒏read -p “please enter the dir path:” path #读取目录路径
⒐if [ ! -x “$path” ]; #判断目录是否存在且是否具有执行权限
⒑echo “dir path not exists”
⒒read -p “please enter if you want to recursive?y/n:” recur #是否递归
⒓if [ $recur = “y” ];
⒔cd $path
⒕change_file_encoing “y” #递归修改文件编码
⒖cd $path
⒗change_file_encoing “n” #非递归修改
⒘Ubuntu查看和批量修改文件编码的方法就介绍到这,不同系统的默认文件编码是不一样的,因此用户可以通过上面介绍的方法修改编码来解决乱码问题。