批量转换纯文本文件编码
Windows下的纯文本文件拷贝到Linux下打开后经常会出现乱码,尤其是中文部分,这主要是因为WIndows使用的是ANSI编码,也就是GBK/GB2312/GB18030系列编码(互相兼容),而Linux下是utf-8编码,所以彩绘出现乱码幸好Linux下有一个iconv命令,可以实现内码转换NAMEiconv - Convert encoding of given f
·
Windows下的纯文本文件拷贝到Linux下打开后经常会出现乱码,尤其是中文部分,这主要是因为WIndows使用的是ANSI编码,也就是GBK/GB2312/GB18030系列编码(互相兼容),而Linux下是utf-8编码,所以彩绘出现乱码
幸好Linux下有一个iconv命令,可以实现内码转换
NAME
iconv - Convert encoding of given files from one encoding to another
SYNOPSIS
iconv -f encoding [-t encoding] [inputfile]...
比如将gbk编码的文件f.txt转换成utf-8编码
iconv -f gbk -t utf-8 f.txt g.txt
rm -f f.txt
mv g.txt f.txt
如果要转换的文件较多,则最好通过shell脚本完成
例如要将ifly子目录下的所有头文件(gbk编码)都转换成utf-8编码,则脚本如下
for f in `ls ifly`; do
iconv -f gbk -t utf-8 "ifly/"$f > "ifly2/"$f
done
rm -rf ifly
mv ifly2 ifly
可以看到为for命令提供列表的是ls命令,对于更复杂的场景可以将其替换成更复杂的命令,比如find加xargs什么的
更多推荐
已为社区贡献2条内容
所有评论(0)