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)

“linux下批量转换文件编码”的8个回复

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

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

评论已关闭。