Linux下递归修改文件编码

公司的基础库代码混用UTF-8GBK可以说是肥肠糟糕了。

在Stackoverflow上面找到了这篇文章,完美解决这个问题。

find . -type f -print -exec iconv -f gbk -t utf-8 -o {}.converted {} \; -exec mv {}.converted {} \;

在某个目录下执行后会递归转换所有文件到utf-8编码,如果转换失败会留下一个.converted文件,手动删除即可。

rm `find | grep ".converted"`