一行Linux命令查找所有非UTF-8编码的文件,再一行命令,都转换成UTF-8
2017-08-12 19:26
399 查看
开始之前,请先安装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做了一些无用功:)
/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做了一些无用功:)
相关文章推荐
- linux下查找某目录下所有文件包含某字符串的命令
- linux下查找某目录下所有文件包含某字符串的命令
- Linux: 一行命令去除文件中所有空行
- Linux查找含有某字符串的所有文件,grep和find命令
- Linux或者MAC下查找指定目录下的所有指定名字的文件并删除的命令
- linux下查找某个目录下所有文件中是否含有某个字符串-find命令
- 简要介绍一下utf-8下bom文件的本质、bom文件的查找(linux命令)、去bom头的方法(linux命令)
- Linux中将一个GBK编码的文件转换成UTF-8编码文件
- 简要介绍一下UTF-8编码和GBK编码------并利用linux中的iconv命令来实现UTF-8和GBK之间的相互转换
- 今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号。由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号。看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类
- 如何在 Linux 中将文件编码转换为 UTF-8
- linux下查找某目录下所有文件包含某字符串的命令
- 如何在 Linux 中将文件编码转换为 UTF-8
- linux所有文件中查找关键字的命令
- iconv内容,convmv文件名,unix2dos,dos2unix文件格式转换,od/cut/wc/dd/diff/uniq/nice/du等命令,linux文件名乱码,文件名,文件内容,vim编码设置
- [转]linux下文件编码格式转换方法(gb18030/utf-8)
- linux下查找某目录下所有文件包含某字符串的命令
- linux下递归查找某目录下所有文件包含某字符串的命令
- iconv内容,convmv文件名,unix2dos,dos2unix文件格式转换,od/cut/wc/dd/diff/uniq/nice/du等命令,linux文件名乱码,文件名,文件内容,vim编码设置