Linux系统下转换文本文件的内码

windows下有很多软件可以用来转换文件的编码,例如将BIG5编码转成GB2312的
在linux下其实也可以完成这样的工作

这个命令就是iconv
例如要将一个编码格式是GB2312的文本文件foo.txt转成BIG5的内码可以用
iconv -f GB2312 -t BIG5 foo.txt > foo1.txt
这样新的文件foo1.txt就是BIG5内码的了

将内码是BIG5的文件foo.txt转成GB2312的内码用
iconv -f BIG5 -t GB2312 foo.txt >foo2.txt

将GB2312内码文件转成UTF-8
iconv -f GB2312 -t UTF-8 foo.txt >foo3.txt

最后是批量转换,将一个目录下所有的文件转换成我们需要的内码
假设当前目录下有foo1.txt foo2.txt foo3.txt.... foon.txt都是GB2312内码
将他们全部专程BIG5内码,并在后面加上BIG5作为后缀
创建一个脚本gb2312_2_big5.sh,内容如下

ls *.txt |while read i
do iconv -f GB2312 -t BIG5 $i>$i.big5
done

保存之后执行
sh gb2312_2_big5.sh
即可完成转换

相关推荐