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个回复
评论已关闭。
> 是指的>重定向么。。。其实你的if语句完全可以由[[ ]] && 代替
@maplebeats: 求完整版 今天因为有个地方 需要用到 才写了个这个。
真心求教
@eric: 没什么啊,只是说可以写成[[ $?=0 ]] && iconv …就可以把if去掉,感觉if很多余
@maplebeats:嗯 不错 有接触了一个新的语法。
find . -name “*.suffix” -exec iconv -f ENCODING -t TOENCODING {} > {}_out \;要是不判断编码的话,也许可以这么干。不过好像没写对。。。
YM博主大牛
@大D: 你才是~
linux表示不太懂