还是M$和*nix的编码那点事儿

#!/bin/sh
show_help()
{
	echo "此脚本将遍历指定目录并将其中的指定后缀名的文件编码"
	echo "转化成目标编码。"
	echo "useage: $0 <目录名> <后缀名> <目标编码>"
}

if ! dpkg-query -W --showformat='${Status}\n' enca | grep "install ok installed" > /dev/null;then
	echo "此工具依赖enca工具进行转化,请输入您的密码安装enca:"
	sudo apt-get install enca
fi

if [ $# -ge 3 ];then
	if [ -d $1 ];then
		enca -L zh_CN -x $3 $(find $1 -name '*.'$2) 
		echo "-------------finished------------"
	else
		show_help
	fi
else
	show_help
fi

    呵呵,换同事发我他写的代码了.用我高贵灵巧美观大方动感时尚的QtCreator打开……佛啊法,可饿克,居然提示不能编辑.还有赤果果的乱码.(心中默念,M$shit100遍)

    用file命令看了下某文件的类型"ISO-xxxx"什么什么的.那么就需要转一下呗.

    第一个想到的就是iconv -fGBK -tUTF8 xxx -o xxx,这个命令绝对好使就是麻烦.作为一个程序,骚情的我需要能指定目录,指定后缀名,最好是直接修改源文件,不要拷贝的.(要是有也不要让我看见).而且那个什么ISO我也知不道它是啥子,有时候iconv还提示个什么位置的错误什么的.也许有什么工具更好用 吧.搜了一下,果不其然,猴哥叫enca的工具.而且转换起来是直接修改源文件啊(看上去是就行)装之.

    看,就是代码写的那样转.后来我又加了两行提示安装enca的命令,因为我把这个脚本给另一个程序用了.他也用的是ubuntu.为了能显摆咱这个脚本是多么的自动化,伪装的高大上,就填了一句提示安装.程序猿嘛,都是比较骚气的,你们懂得.

    反正能好好工作了.舒心.

你可能感兴趣的:(windows,linux,shell,转换编码)