linux下批量转换文件编码

linux下转换GBK到UTF8 或者其他编码 反过来也行。代码水平很低 如果有问题 还请高手指出!

#! /bin/sh
for file in `find . -name "*.suffix"` #注释1
do
file $file | grep ENCODING > /dev/null #注释2
if [ $?=0 ]
then
iconv -f ENCODING -t TOENCODING $file > ${file}_out #注释3
fi
done

*
1.读取当前目录和子目录下 所有扩展名为.suffix的文件
2.检查当前文件编码 如果是ENCODING就执行下面的操作
3.把编码转换成TOENCODING并保存为原文件名_out(需要iconv)

如需要转载请注明: 转载自eRic

原文地址: linux下批量转换文件编码

对文章有任何疑问,欢迎用各种方式提出。

8 Replies to “linux下批量转换文件编码”

    1. @maplebeats: 求完整版 今天因为有个地方 需要用到 才写了个这个。
      真心求教

  1. find . -name “*.suffix” -exec iconv -f ENCODING -t TOENCODING {} > {}_out \;要是不判断编码的话,也许可以这么干。不过好像没写对。。。

Comments are closed.