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

 更新时间:2014年06月20日 10:21:48   投稿:junjie  
这篇文章主要介绍了Shell脚本把文件从GBK转为UTF-8编码,需要的朋友可以参考下

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

相关文章

  • 使用shell读取ini文件方法步骤

    使用shell读取ini文件方法步骤

    本文主要介绍了使用shell读取ini文件方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 一文掌握Linux命令lsscsi

    一文掌握Linux命令lsscsi

    想要弄明白lsscsi命令,首先我们必须搞清楚什么是SCSI,以及常见的硬盘接口,常用的硬盘参数,今天通过本文给大家介绍下Linux命令lsscsi,需要的朋友可以参考下
    2022-09-09
  • linux iptables防火墙中的工作常用命令

    linux iptables防火墙中的工作常用命令

    linux系统的防火墙,IP信息包过滤u系统,它实际上由两个组件netfilter和iptables组成,这篇文章主要介绍了linux iptables防火墙-工作常用命令,需要的朋友可以参考下
    2022-10-10
  • linux软件版本管理命令update-alternatives使用详解

    linux软件版本管理命令update-alternatives使用详解

    这篇文章主要介绍了linux软件版本管理命令update-alternatives使用详解的相关资料,需要的朋友可以参考下
    2017-04-04
  • Linux下AWK命令使用的详细指南与示例

    Linux下AWK命令使用的详细指南与示例

    AWK 是 Linux 中功能强大的文本处理工具,用于模式扫描和处理,AWK 以其创建者的名字命名,特别适合处理如日志、CSV 文件或配置文件等结构化文本数据,本指南全面讲解了 AWK 的功能,感兴趣的小伙伴跟着小编一起来看看吧
    2024-11-11
  • 在Linux中查找 IP 地址的3种方法

    在Linux中查找 IP 地址的3种方法

    在 Linux 系统中,经常需要查找 IP 地址以进行网络配置、故障排除或安全管理,无论是查找本地主机的 IP 地址还是查找其他设备的 IP 地址,本文将介绍三种简单的方法,帮助你在 Linux 中轻松找到所需的 IP 地址,需要的朋友可以参考下
    2023-09-09
  • Shell中删除某些文件外所有文件的3个方法

    Shell中删除某些文件外所有文件的3个方法

    这篇文章主要介绍了Shell中删除某些文件外所有文件的3个方法,即在删除文件时保留一些想要的,其它的则删除,需要的朋友可以参考下
    2014-10-10
  • 关于ssh连不上问题的解决方法(必看)

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

    下面小编就为大家带来一篇关于ssh连不上问题的解决方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • shell一键部署Zabbix的实现步骤

    shell一键部署Zabbix的实现步骤

    本文主要介绍了shell一键部署Zabbix的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-02-02
  • shell中实用eval命令和安全问题

    shell中实用eval命令和安全问题

    eval命令非常强大,但也非常容易被滥用,本文主要介绍了shell中实用eval命令和安全问题,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10

最新评论