Shell脚本把文件从GBK转为UTF-8编码

所属分类: 脚本专栏 / linux shell 阅读数: 1683
收藏 0 赞 0 分享

shell 脚本:

#!/bin/sh 

## 
## convert file from GB2312 to UTF-8
## 

path="$1"
unset opt
if [ "$2" = "force" ]; then
	opt="-c -s"
fi

if [ -z "$path" ]; then
	echo "nUsage: $0 <file or dir>n"
elif [ ! -e "$path" ] ; then
	echo "nERROR: destination: $path does not exist.n"
fi

if [ -f "$path" ] ; then
	echo "Converting $path (gbk --> utf-8) ... "
	if file "$path"|grep -q UTF-8 >/dev/null ; then
		echo "Already converted"
	else
		iconv -f gbk $opt -t utf-8 "$path" > /tmp/$$.tmp
		if [ $? -eq 0 ] ; then
			echo "Success"
			mv -f /tmp/$$.tmp "$path"
		else
			echo "Failed"
		fi
	fi
elif [ -d "$path" ] ; then
	path=`echo "$path/"|sed 's//////'`
	find "$path" -path "$path.*" -prune -o -type f -print|while read i
	do
		dir=`dirname $i`
		file=`basename $i`
		echo "Converting $dir/$file (gbk --> utf-8) ..."
		iconv -f gbk -t utf-8 $opt "$i" > /tmp/$$.tmp 2>/dev/null
		if [ $? -eq 0 ] ; then
			echo "Success"
			mv -f /tmp/$$.tmp "$i"
		else
			echo "Failed"
		fi
	done
fi

更多精彩内容其他人还在看

关于ssh连不上问题的解决方法(必看)

下面小编就为大家带来一篇关于ssh连不上问题的解决方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Ubuntu用户之间相互切换方法(推荐)

下面小编就为大家带来一篇Ubuntu用户之间相互切换方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Linux 编程之进程fork()详解及实例

这篇文章主要介绍了Linux 编程之进程fork()详解及实例的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

浅谈安装ORACLE时在Linux上设置内核参数的含义

下面小编就为大家带来一篇浅谈安装ORACLE时在Linux上设置内核参数的含义。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详谈linux中sar的使用方法

下面小编就为大家带来一篇详谈linux中sar的使用方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

设置Linux系统的空闲等待时间TMOUT的方法

下面小编就为大家带来一篇设置Linux系统的空闲等待时间TMOUT的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

关于Linux反空闲设置的两种方法总结

下面小编就为大家带来一篇关于Linux反空闲设置的两种方法总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

linux 查找大目录和大文件的方法(推荐)

下面小编就为大家带来一篇linux 查找大目录和大文件的方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Linux makefile 和shell文件相互调用实例详解

这篇文章主要介绍了Linux makefile 和shell文件相互调用实例详解的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Windows与Linux共享文件夹互相访问

这篇文章主要介绍了 详解Windows与Linux共享文件夹互相访问的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多