shell处理字符编码
? ? 之前使用的dropbox中,会存放一些文本文件,在windows上的默认编码都是gb2312来做的保存,现在完全切换到ubuntu上,所以需要对所涉及到的一些文本文件的编码修改,文件多啦,谁都不想手工一个一个修改,那就写脚本来处理吧!
?
? ? 思路:
? ? 1. 首先,我得知道这个文件具体采用的是什么样的编码,如果是ISO-8859我将会把它转成UTF-8,其他的ASCII这些都先不做处理,这里可以使用file filename或者是enca iconv
? ? enca需要获取下:sudo apt-get install enca
? ? iconv的一般用法是:(可以man iconv)
? ? -f from code 源文件编码
? ? -t to code 目标文件编码
? ? -o output file 保存为文件
例子:
?
? ? iconv -f GB2312 -t UTF-8 -o google.txt google.txt
? ? 将google.txt的编码由GB2312更新为UTF-8
?
? ? enca也同上用法,一般在脚本中对于未曾提供的语言,enca不会报错,这样可以保证脚本顺利执行
?
? ? enca -L zh_CN file 检查文件编码
? ? enca -L zh_CN -x UTF-8 file 将文件编码修改为UTF-8并覆盖文件
?
? ? 具体的用法都可以去查看man手册或者google之
?
? ? 好了,不多说,查看脚本吧!
?
??
?
?