批量文件转码工具(支持GBK,UTF-8转换)
使用依赖环境:Linux操作系统 shell iconv
功能:通过命令行指定要转码文件所在的目录,本程序将把该目录及其子目录下的所有文件从GBK编码转换为UTF-8编码
注意:如果指定的目录下有非文本文件或文本文件编码不是GBK,请先备份这些文件,以免给你带来损失。
使用例子:
1、拷贝该文件并保存为gbk2utf8.sh 并赋予可执行权限
2、在shell下执行如下命令: ./gbk2utf8.sh files files是待转码文件所在的目录
如果要进行其他编码之间的转换 可察看iconv命令的帮助文档(iconv --help)并修改iconv的命令行参数。
#!/bin/sh
function decode(){
tempdir=`pwd`
for file in `ls`
do
if [ -f $file ] ;then
echo "*$file is file"
iconv -f GBK -t UTF-8 -o $file ${file}
elif [ -d $file ];then
cd $file
echo "**$file is dirctory"
decode
cd ..
else
echo '*** something wrong'
fi
done
}
if [ $# -gt 0 ];then
echo "**********enter $1"
cd $1
if [ $? -eq 0 ];then
decode
else
echo 'directory is not exists!'
fi
echo "**********leave $1"
else
echo "please specify a directory"
fi