禁止发表博彩类、私服、色情、赌博、诈骗、违法广告等一切国家法律禁止的内容,一经发现,立即禁言并清空帖子,严重者报公安机关处理!

Linux系统如何查看和批量修改文件编码?

0
回复
297
查看
[复制链接]
发表于 2016-9-4 21:43:19 | 显示全部楼层 |阅读模式
在我们使用的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查看和批量修改文件编码的操作方法就介绍完了,要提醒用户的是,在不同的系统中默认文件编码是不一样的,因此用户可以通过上面介绍的方法修改编码来解决乱码问题。
关注官方微信

微信号:大白网

微博:大白网

QQ1群:4731622

QQ2群:4731622

全国服务热线:

QQ24485416

(工作日:周一至周五 9:00-16:00)
大理市
www@dali8.net

手机版-小黑屋- 大理白族|大理乡村旅游网|大理网|大理论坛|白族网|大理旅游网|大理信息网|大理生活网

技术支持:挖主机网络 Powered by大白网© 2006-2025 dalibaizu.com  滇ICP备19004088号 滇公网安备 53290102000530号