linux批量将文件编码由gbk转成utf8

编码转换

一些老的项目,文件编码用的还是gbk,很不利于扩展及维护。经常需要在程序中进行判断及转码,容易出现乱码现象。最好的方式就是将整个项目转成utf-8。那么如何批量将一个目录下的文件转编码?

思路

  • 找出目录下的所有文件类型
  • 遍历要转码的文件类型,如.php
  • 利用vim的set fileencoding=utf8进行转码

具体实现

设置~/.vimrc

set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8
set ts=4
set expandtab

找出目录下的所有文件类型

find . -type f | perl -ne 'print $1 if m/\.([^.\/]+)$/' | sort -u

转码的脚本

gbk_to_utf8.sh

#!/bin/bash
for i in `find -name \*.php`
do
    vim -s gbk_utf8.vi $i
done

gbk_utf8.vi

:set fileencoding=utf8
:wq!

在当前目录下执行转码脚本:

./gbk_to_utf8.sh

欢迎查看我的网站原文

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ImportSource

厕读:每日一题,面试无忧

9. volatile关键字是否能保证线程安全?() 答案:不能 解析:volatile关键字用在多线程同步中,可保证读取的可见性,JVM只是保证从主内存加载到...

32610
来自专栏大闲人柴毛毛

Linux目录管理全面掌握

路径符号 . 当前目录 .. 上一层目录 - 前一个目录 ~ 当前账户的主文件夹 ~chai chai这个账户的主文件夹 目录处理命...

28512
来自专栏JavaEdge

git配置0 配置 用户信息1 配置 行尾和颜色2 有用的设置

2915
来自专栏计算机视觉

vim操作

1. vim 文件名,进入你需要修改的文件。例如vim test.py,就是修改test.py文件。 2. 输入i,就是insert的缩写。上下移动光标,光标位...

27110
来自专栏Java 技术分享

Hibernate Session总结

3348
来自专栏Pythonista

记录java版本不兼容的坑,(kafka运行报错)

我的kafka是1.8java环境下的,所以卸载1.7java,安装最新的java1.8

2172
来自专栏Modeng的专栏

Mac 电脑如何卸载 node

版权声明:本文为原创文章发布于公众号:Modeng , 你可以随意转载但请务必注明出处!!! https://blog.csdn.net/qq_3213528...

2003
来自专栏抠抠空间

Linux文件操作相关命令

1580
来自专栏一个会写诗的程序员的博客

java代码执行过程简介

代码即数据,数据即代码,而我们的数据是保存在文件上的,所以我们说文件就是数据,一切代码都是文件。

1013
来自专栏noteless

windows查看端口占用 windows端口占用 查找端口占用程序 强制结束端口占用 查看某个端口被占用的解决方法 如何查看Windows下端口占用情况

2.查询指定的端口被占用的情况   上图中本地地址一列中的冒号:  后面的数字就是端口号

1013

扫码关注云+社区