|
学习了几天shell,感觉越来越有意思。从rh9转到rhel4,字符编码由gb2312到了utf8,以前的文档就只能用gedit看了,为了用vi看起来方便,写了这个,权作新手练习。对于高手来说或许一两行就解决了,大家别笑话啊。
#本程序设计用于将文本编码由gb2312转换为utf8
#第一步:读取文件信息,看是否utf8,如果是就跳过,否则输出到文件infout;;因为发现本机上的gb2312在file后显示为ISO-8859,但是用'iconv -f gb2312 -t utf8'有效;
#第二步:逐行读取,对输出文件执行转换和重命名。用'-o'参数重命名,在原来名称后上加上utf8。
if [ -f infout ];then
rm infout
fi
if [ -f strnew ];then
rm strnew
fi
for FILE in *;do
file $FILE | grep 8859 >> infout
done
awk -F":" '{print $1}' infout > strnew
cat strnew | while read line;do
echo "$line will be UTF8"
iconv -f gb2312 -t utf8 $line -o "$line".utf8 && rm $line
done
还有问题:
有些文件在file命令后显示non-iso,怎么转换? |
|