360系统之家 - 最安全的系统下载网站!

当前位置:首页 > 系统教程 > Linux教程 > 详细页面

Ubuntu查看和批量修改文件编码的方法

时间:2020-02-17 来源:360系统之家

  我们都知道在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查看和批量修改文件编码的方法就介绍到这,不同系统的默认文件编码是不一样的,因此用户可以通过上面介绍的方法修改编码来解决乱码问题。

相关信息

  • Linux系统与Windows系统的不同之处

    对于用户来说,Linux和Windows的不断更新引发了两者之间的竞争。用户可以有自己喜欢的系统,同时也在关注竞争的发展。大家都知道Linux与Windows这两个系统有很大的区别,就是不知...

    2020/02/17

  • Docker容器和宿主机时间不同步的解决办法

    很多用户使用了Docker以后都遇到Docker容器的时间和宿主机时间不同步的问题。其实这主要是因为宿主机设置了时区,但是Docker容器并没有设置,这才导致它们时间不同步。下面小编...

    2020/02/17

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载

公众号