利用iconv进行文件编码批量原地转换
将当前目录及其所有子目录中的以 java 为后缀的文件,从 GB18030 转换为 UTF-8:
find . -name "*.java" -exec sh -c "iconv -f GB18030 -t UTF8 {} -o {}" \;
注意备份文件,上面的命令有时候执行出错,可能将你的文件毁灭。。。。。
第一个.表示当前目录,换成你的目录。-o为输出(经试验发现将-o换成>后不会得到想要的结果,直接将问文件清空了)
{}表示exec传递过来的参数,即文件名,这样就会覆盖原来的文件,也就是不另行创建新文件
写成{}.txt的形式,就会创建一个同名但带有.txt后缀的文件
除了用exec外还可以用xargs传递(可以传多个参数)
本文源自http://www.cnblogs.com/makefile/