一行Linux命令查找所有非UTF-8编码的文件,再一行命令,都转换成UTF-8
来源:互联网 发布:生物 咨询公司 知乎 编辑:程序博客网 时间:2024/06/05 11:27
开始之前,请先安装enca这个软件包。enca是Linux等系统下用来查看文件编码和转换文件编码的工具。下面一行Linux命令能够查找当前目录下所有文件中,哪些文件不是UTF-8编码。我对文件加了些限制,用find命令时候,排除了所有目录下的.svn目录,且只查找后缀为.php的文件。命令11jw@~/sqlite>2find . ! -iregex '.*\.svn.*' -type f -name '*.php' -exec bash -c "enca -L zh_CN {}|grep GB2312 > /dev/null && echo {}" \;3./sqlite_utility.php4./sqlite_result.php5./sqlite_forge.php6./sqlite_driver.php既然找到了这些非UTF8编码的文件,接下来再用一条命令将他们都转换成UTF8编码命令21jw@~/sqlite>2find . ! -iregex '.*\.svn.*' -type f -name '*.php' -exec bash -c "enca -L zh_CN {} | grep GB2312 >/dev/null && enconv -L zh_CN -x UTF-8 {}" \;当你用命令2 全部转换完成后,如果你期待命令1的输出为空,那么你就错了。实际上英语字母的utf8编码和ASCII编码是一样的。当一个全是英文字母的文件用UTF8 w/o BOM编码保存,那么enca会识别他是一个ACSII编码的文件。所以,你猜到了,命令2做了一些无用功:)
阅读全文
0 0
- 一行Linux命令查找所有非UTF-8编码的文件,再一行命令,都转换成UTF-8
- Linux下GBK->UTF-8文件编码批量转换命令
- Linux下GBK文件编码批量转换UTF-8命令
- 简要介绍一下UTF-8编码和GBK编码------并利用linux中的iconv命令来实现UTF-8和GBK之间的相互转换
- UTF-8、UTF-16、UTF-32之间的编码转换
- UTF-8、UTF-16、UTF-32编码的相互转换
- UTF-8、UTF-16、UTF-32编码的相互转换
- eclipse下把所有的文件都转换为UTF-8的方法
- eclipse下把所有的文件都转换为UTF-8的方法
- eclipse下把所有的文件都转换为UTF-8的方法
- eclipse下把所有的文件都转换为UTF-8的方法
- 非UTF-8编码转换为UTF-8 重点是转换的思路
- UTF-8编码的转换
- .java文件的ANSI编码转换为UTF-8编码
- .java文件的ANSI编码转换为UTF-8编码
- UTF-8编码转换
- linux下GBK->UTF-8文件编码批量转换脚本
- linux下GBK->UTF-8文件编码批量转换脚本
- 修理牧场
- 190
- 191
- 士兵杀敌(二) 【nyoj-116】【线段树】
- 192
- 一行Linux命令查找所有非UTF-8编码的文件,再一行命令,都转换成UTF-8
- 193
- Spring MVC 异步处理请求,提高程序性能
- 【TypeScript学习笔记】代码中反引号的作用-多行文本输入创建多行字符串
- 194
- ajax 数据交互 接口调用
- 从概念到实例详细讲解squid配置
- 195
- B