iconv是linux系统命令,用于转换文件编码。当中文文件需要从gbk编码转为utf-8编码时,使用该命令能够快速的转换编码。
使用如下:
iconv -f 原编码 -t 新编码 originfile -o newfile
利用bash脚本实现某个文件夹下批量文件的转码:
#!/bin/bash
# 转换编码方法
function transferFile ()
{
for file in `ls $1`
do
if [ -d $1"/"$file ]
then
transferFile $1"/"$file
else
fileName=`echo $1"/"$file`
fileType=${fileName##*.}
originType="GB2312"
newType="UTF-8"
# 将文件夹内的html和htm文件从GB2312转为UTF-8
if [[ $fileType = "html" || $fileType = "htm" ]]
then
echo $fileName
iconv -f $originType -t $newType $fileName -o $fileName
fi
fi
done
}
# 需要转码的文件夹
folder="public"
transferFile $folder
以上。