本方法相对比较繁琐,有待以后总结更简单的方案
1、判断文件的编码
file -i filename
2、把UTF-8的文件转为GBK文件
(1) 备份目录
find . -type d -exec mkdir -p ../gbk/{} \;
(2) find . -type f -exec iconv -f UTF-8 -t GBK {} -o ../gbk/{} \;
3、批量替换文件的关键字
(1)进入目录 gbk
(2) 查询并替换文件关键字
find . -type f -print|xargs sed -i 's/待替换的字符串/替换后的字符串/g'
4、把GBK的文件转为UTF-8文件
(1) 备份目录
find . -type d -exec mkdir -p ../utf/{} \;
(2)递归转换
find . -type f -exec iconv -f GBK -t UTF-8 {} -o ../utf/{} \;
5、utf目录下便是替换后的文件