<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>水草树 &#187; script</title>
	<atom:link href="http://mifunny.info/tag/script/feed" rel="self" type="application/rss+xml" />
	<link>http://mifunny.info</link>
	<description>走走停停看看，恍然大悟。</description>
	<lastBuildDate>Sat, 27 Aug 2011 18:25:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Python文件备份脚本更新，加入mysql数据库备份</title>
		<link>http://mifunny.info/python-backup-script-for-files-and-mysql-74.html</link>
		<comments>http://mifunny.info/python-backup-script-for-files-and-mysql-74.html#comments</comments>
		<pubDate>Thu, 31 Jul 2008 14:29:00 +0000</pubDate>
		<dc:creator>LD</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[大佛Linux]]></category>

		<guid isPermaLink="false">http://mifunny.info/?p=74</guid>
		<description><![CDATA[前言： 写这篇文章前，思考了XX久，原因很简单，这篇东西没人看，这个东西除了我也没人用，所以使用说明书就免了。 于是可以写点别的，QQ for Linux今早发布,可以写点评论，NO！ n多人会写; 没事，还有个叫 中文版如何做爱 的Very恶搞 and 极度幽默的开源项目，But！ 时间不对。…… 其实还有还多，比如《全名黑客》发誓要将小黑精神进行到底！ 前言的小结： 总结了莫须有的，回顾了后天会美好的憧憬，我决定==》开写！ 正文开始： backup_py_20080731.tar.bz2是python写的文件备份脚本，配合cron可以备份指定的文件，mysql数据库，删除过期的日志。这个脚本最早是在学python时动笔的，其间修修补补的估计有一年了，成了现在这个样子。从程序的角度，十分丑陋，从实用的角度也就马马虎虎过得去这样。可是我还是不断的修改，写这篇文文，无它，好几次系统崩溃都是考它备份出来的东西还原的，也算是功臣了。所以写给自己看则个。 唠唠叨叨一大堆，OK。handbook begin 首先，它分成两个文件： backedit.py 通过它可以查看修改备份文件列表; backup.py 主角，执行它才能完成备份（你得授予可执行权限） 其实很简单，backedit.py负责设定那些东西要备份，cron调用backup.py给那些文件打包，O了^_^ 。 那么先来解释一下backedit.py 一、 backedit.py一共可用的参数是5个： backedit.py default 恢复默认设置 backedit.py show 查看备份列表 backedit.py help 显示此页面 backedit.py add [parameter] [...] 添加备份路径 backedit.py del [number] [...] 通过编号删除多余路径 文件backedit.py中的第18行设定备份文件最终安放的地点（变量backup_path），需要和backup.py中的一致。56行是默认的备份文件列表，一般linux系统上都有。 举个例子，我要添加 /etc/httpd 和 /home/user/.bashrc 这两个备份路径可以 python [...]]]></description>
			<content:encoded><![CDATA[<p style="text-indent: 4mm"><b>前言：</b>    写这篇文章前，思考了XX久，原因很简单，这篇东西没人看，这个东西除了我也没人用，所以使用说明书就免了。 于是可以写点别的，<a href="http://im.qq.com/qq/linux/download.shtml" title ="QQ for Linux" alt="QQ for Linux">QQ for Linux</a>今早发布,可以写点评论，NO！ n多人会写; 没事，还有个叫 <a href="http://code.google.com/p/chtml/" title="中国人自己的超文本标记语言" alt="A Chinese version for HTML" ><i>中文版如何做爱</i></a> 的Very恶搞 and 极度幽默的开源项目，But！ 时间不对。…… 其实还有还多，比如<a href="http://www.cnbeta.com/article.php?sid=61273" title="《环球时报》:英专家称中国支持“网络恐怖主义”" >《全名黑客》发誓要将小黑精神进行到底！</a> </p>
<p style="text-indent: 4mm"><b>前言的小结：</b>    总结了莫须有的，回顾了后天会美好的憧憬，我决定==》开写！</p>
<p style="text-indent: 4mm">正文开始：   <a href="http://nothing-at-all.googlecode.com/files/backup_py_20080731.tar.bz2" title="Python 文件备份脚本" alt="python file mysql log script backup">backup_py_20080731.tar.bz2</a>是python写的文件备份脚本，配合cron可以备份指定的文件，mysql数据库，删除过期的日志。这个脚本最早是在学python时动笔的，其间修修补补的估计有一年了，成了现在这个样子。从程序的角度，十分丑陋，从实用的角度也就马马虎虎过得去这样。可是我还是不断的修改，写这篇文文，无它，好几次系统崩溃都是考它备份出来的东西还原的，也算是功臣了。所以写给自己看则个。</p>
<p style="text-indent: 2mm">唠唠叨叨一大堆，OK。handbook begin 首先，它分成两个文件： <br />    backedit.py  通过它可以查看修改备份文件列表;<br />    backup.py  主角，执行它才能完成备份（你得授予可执行权限）<br />  其实很简单，backedit.py负责设定那些东西要备份，cron调用backup.py给那些文件打包，O了^_^ 。 那么先来解释一下backedit.py</p>
<p><span id="more-74"></span></p>
<p style="text-indent: 2mm"><strong>一、 backedit.py</strong>一共可用的参数是5个： <br / />    backedit.py default 恢复默认设置<br / />    backedit.py show 查看备份列表<br / />    backedit.py help 显示此页面<br / />    backedit.py add [parameter] [...] 添加备份路径<br / />    backedit.py del [number] [...] 通过编号删除多余路径<br />  文件backedit.py中的第18行设定备份文件最终安放的地点（变量backup_path），需要和backup.py中的一致。56行是默认的备份文件列表，一般linux系统上都有。 举个例子，我要添加 /etc/httpd 和 /home/user/.bashrc  这两个备份路径可以<br />
<table style="border:2px solid #E0E0E0; background-color: #BFF0FF;" border="0">
<tbody>
<tr>
<td>python  backedit.py  add  /etc/httpd  /home/user/.bashrc</td>
</tr>
</tbody>
</table>
<p>然后删除 /etc/fonts 和 /etc/inittab 这两个路径（backedit.py show可以看到路径的ID）<br />
<table style="border:2px solid #E0E0E0; background-color: #BFF0FF;" border="0">
<tbody>
<tr>
<td>python  backedit.py  del  3  1</td>
</tr>
</tbody>
</table>
<p>数据库文件是地址backup_path下的backup.list 。</p>
<p style="text-indent: 2mm">接下来加入root用户的cron任务计划表中（其他用户也可），执行 sudo  crontab  -e 后，如下编辑,表示每个星期五、日的20、22点进行备份。<br />
<table style="border:2px solid #E0E0E0; background-color: #BFF0FF;" border="0">
<tbody>
<tr>
<td>
#    minute    hour    day    month    dow    command<br />    01    20,22    *    *    5,0    /opt/script/backup.py</td>
</tr>
</tbody>
</table>
<p>可以参考: <a href="http://www.ibm.com/developerworks/cn/linux/l-job-scheduling.html" alt="Linux 技巧: 用cron 和at 调度作业">Linux 技巧: 用cron 和at 调度作业</a>，好了只剩mysql数据库备份和删logs了，痛！</p>
<p><font size="0" color="#4D4D4D"></p>
<p style="text-indent: 6mm">（PS~_~1：小脚趾刚刚被削掉了层皮，shit！该死的木门，十几年都没事，今天才向我发威; 还好没去献血，不然极有可能流血过量 <img src='http://mifunny.info/blog/wp-includes/images/smilies/icon_cry.gif' alt=':cry:' class='wp-smiley' />  ）</p>
<p style="text-indent: 6mm">（PS~_~2：QQ for Linux的rpm包中的license竟是GPL，狂汗）</p>
<p></font></p>
]]></content:encoded>
			<wfw:commentRss>http://mifunny.info/python-backup-script-for-files-and-mysql-74.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Python图片批量水印脚本</title>
		<link>http://mifunny.info/python-image-watermark-script-68.html</link>
		<comments>http://mifunny.info/python-image-watermark-script-68.html#comments</comments>
		<pubDate>Thu, 24 Jul 2008 08:11:33 +0000</pubDate>
		<dc:creator>LD</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[watermark]]></category>
		<category><![CDATA[图片]]></category>
		<category><![CDATA[水印]]></category>

		<guid isPermaLink="false">http://mifunny.info/?p=68</guid>
		<description><![CDATA[冒着波涛汹涌的电压，机子断电重启n次(n>15)的艰难条件，终于&#8221;乒乒乓乓&#8221;的敲出了这个给图片批量加水印的小脚本。&#8221;呼￥%…￥#￥#&#038;×￥%%￥&#8221; 吐出一口长长的浊气， 这种天气，冰箱比不上井水，空调比不上蒲扇，知了还叫个不停，到晚上田鸡还接着扯…… OK，我抱怨完了，可以介绍这个脚本了 虽然WordPress已经有自动给图片加水印的插件了(呦呦~~~就是这个super image tools), 而且这个东西牛X到不行，连远程图片也可以轻松搞定; 但就是不符合我的口味，Why？大哥辛苦了，小弟很勤奋，每张图片我都要亲自照顾一下。 以前写过一个简单的Python图片处理程序，现在权当复习一下。 这个批处理脚本功能很简单，只有三个： 给图片添加TEXT水印 添加logo图片水印 生成图片的缩略图 当然，可以根据自己的需求修改脚本里定义的变量。执行很简单，大部分设置在脚本里： python watermark.py [input-image-path] [METHOD] (脚本里已经指定METHOD，就不必加了) 比如：我要把把家目录下Pictures里的图片都加上文字水印（文字和水印位置在脚本中定义），那么可以这么执行： python watermark.py /home/user/Pictures 1 (方法1是文字水印，2为logo图片水印，3为缩略图) 文件名： watermark_py_20080724.tar.bz2下载地址： http://code.google.com/p/nothing-at-all/downloads/list我只在linux上测试过， 下面是示例：]]></description>
			<content:encoded><![CDATA[<p style="text-indent: 4mm">冒着波涛汹涌的电压，机子断电重启n次(n>15)的艰难条件，终于&#8221;乒乒乓乓&#8221;的敲出了这个给图片批量加水印的小脚本。&#8221;呼￥%…￥#￥#&#038;×￥%%￥&#8221; 吐出一口长长的浊气， 这种天气，冰箱比不上井水，空调比不上蒲扇，知了还叫个不停，到晚上田鸡还接着扯…… OK，我抱怨完了，可以介绍这个脚本了</p>
<p style="text-indent: 4mm">虽然WordPress已经有自动给图片加水印的插件了(呦呦~~~就是这个<a href="http://www.pkphp.com/2008/06/08/wordpress-image-super-tools/" title="wordpress图片水印+远程图片下载插件super image tools" alt="wordpress图片水印+远程图片下载插件super image tools" >super image tools</a>), 而且这个东西牛X到不行，连远程图片也可以轻松搞定; 但就是不符合我的口味，Why？大哥辛苦了，小弟很勤奋，每张图片我都要亲自照顾一下。 <img src='http://mifunny.info/blog/wp-includes/images/smilies/icon_evil.gif' alt=':evil:' class='wp-smiley' />  以前写过一个简单的<a href="http://mifunny.info/my-python-image-app-47.html" title="我的python图像处理程序"  alt="python 图像 image 程序" >Python图片处理程序</a>，现在权当复习一下。</p>
<p style="text-indent: 4mm">这个批处理脚本功能很简单，只有三个：
<ol>
<li>给图片添加TEXT水印</li>
<li>添加logo图片水印</li>
<li>生成图片的缩略图</li>
</ol>
<p>当然，可以根据自己的需求修改脚本里定义的变量。执行很简单，大部分设置在脚本里：<br />
<table style="border:2px solid #E0E0E0; background-color: #BFF0FF;" border="0">
<tbody>
<tr>
<td>python  watermark.py  [input-image-path]  [METHOD] <br />(脚本里已经指定METHOD，就不必加了)</td>
</tr>
</tbody>
</table>
<p>比如：我要把把家目录下Pictures里的图片都加上文字水印（文字和水印位置在脚本中定义），那么可以这么执行：<br />
<table style="border:2px solid #E0E0E0; background-color: #BFF0FF;" border="0">
<tbody>
<tr>
<td>python  watermark.py  /home/user/Pictures  1 <br />(方法1是文字水印，2为logo图片水印，3为缩略图)</td>
</tr>
</tbody>
</table>
<p style="text-indent: 4mm">文件名： watermark_py_20080724.tar.bz2<br />下载地址： http://code.google.com/p/nothing-at-all/downloads/list<br />我只在linux上测试过， 下面是示例：</p>
<p><span id="more-68"></span><br />
<div class="wp-caption aligncenter" style="width: 460px"><a href="http://lh3.ggpht.com/kldscs/SIgk3gzAy7I/AAAAAAAAATw/X0iy78NsOYI/s800/fangfei.jpg"><img class="frame" alt="放飞广场 未加水印 原图" src="http://lh3.ggpht.com/kldscs/SIgk3gzAy7I/AAAAAAAAATw/X0iy78NsOYI/s800/fangfei.jpg" title="原图 未加水印" width="450" height="338" /></a><p class="wp-caption-text">未加水印前的原图</p></div></p>
<div class="wp-caption aligncenter" style="width: 460px"><a href="http://lh5.ggpht.com/kldscs/SIgoj4Cx_SI/AAAAAAAAAT8/bBX6FtCBRm0/s800/fangfei_watermark.jpg"><img class="frame" alt="放飞广场 文字 水印" src="http://lh5.ggpht.com/kldscs/SIgoj4Cx_SI/AAAAAAAAAT8/bBX6FtCBRm0/s800/fangfei_watermark.jpg" title="文字水印" width="450" height="338" /></a><p class="wp-caption-text">文字水印</p></div>
<div class="wp-caption aligncenter" style="width: 460px"><a href="http://lh6.ggpht.com/kldscs/SIgk3S6IzzI/AAAAAAAAATg/jO1dzOVP7Pc/s800/fangfei_watermark2.jpg"><img class="frame" alt="放飞广场 logo 图片 水印 " src="http://lh6.ggpht.com/kldscs/SIgk3S6IzzI/AAAAAAAAATg/jO1dzOVP7Pc/s800/fangfei_watermark2.jpg" title="logo图片水印" width="450" height="338" /></a><p class="wp-caption-text">logo图片水印 </p></div>
<div class="wp-caption aligncenter" style="width: 757px"><a href="http://lh4.ggpht.com/kldscs/SIgk3rNxjVI/AAAAAAAAATo/cXB1DyRYo2k/s800/logo.png"><img alt="水草树 mifunny logo" src="http://lh4.ggpht.com/kldscs/SIgk3rNxjVI/AAAAAAAAATo/cXB1DyRYo2k/s800/logo.png" title="水草树的logo" width="60%" /></a><p class="wp-caption-text">水草树的logo</p></div>
]]></content:encoded>
			<wfw:commentRss>http://mifunny.info/python-image-watermark-script-68.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>修改了arch下的pacget脚本，可以和pacman同用一个mirrorlist了</title>
		<link>http://mifunny.info/arch-pacget-script-57.html</link>
		<comments>http://mifunny.info/arch-pacget-script-57.html#comments</comments>
		<pubDate>Mon, 14 Jul 2008 06:55:40 +0000</pubDate>
		<dc:creator>LD</dc:creator>
				<category><![CDATA[Shell]]></category>
		<category><![CDATA[大佛Linux]]></category>
		<category><![CDATA[archlinux]]></category>
		<category><![CDATA[pacman]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://mifunny.info/?p=57</guid>
		<description><![CDATA[经历半个月，终于考完试; 到长沙的中软国际傻傻的走了一遭； 做着严重超载的火车回到了家; 躺在当年的床上，混混沌沌地睡了一天办； 把家里老机子上的arch升级并重新布置了一下桌面 只是家里的网速太慢，pacman使用wget更新很稳定的10kb/s，急煞人也！！ 没法搬出以前linuxsir论坛上找到的pacget脚本，修改了一下，使它和pacman使用同样的mirrorlist。 #!/bin/bash #pacget script cachedir=/var/cache/pacman/pkg rm -f $cachedir/*.aria2 file=`echo $1&#124;awk -F &#8216;/&#8217; &#8216;{ print $NF }&#8217;` echo Downloading: $file&#124;sed &#8216;s,/,,&#8217; repo=`echo $1&#124;awk -F &#8216;/&#8217; &#8216;{x=NF-3 } { print $x }&#8217;` echo %repo: $repo mirrors=`sed -n &#8216;s/^Server = //; s/$repo/&#8217;$repo&#8217;/ ; s,$,/&#8217;&#8221;/$file&#8221;&#8216;, ; /^ftp/p; /^http/p&#8217; /etc/pacman.d/mirrorlist` if [[ $2 = [...]]]></description>
			<content:encoded><![CDATA[<p style="text-indent: 4mm" >经历半个月，终于考完试; 到长沙的中软国际傻傻的走了一遭； 做着严重超载的火车回到了家; 躺在当年的床上，混混沌沌地睡了一天办； 把家里老机子上的arch升级并重新布置了一下桌面</p>
<p style="text-indent: 4mm" > 只是家里的网速太慢，pacman使用wget更新很稳定的10kb/s，急煞人也！！ 没法搬出以前linuxsir论坛上找到的pacget脚本，修改了一下，使它和pacman使用同样的mirrorlist。
</p>
<p><coolcode lang="shell"><br />
#!/bin/bash<br />
#pacget script </p>
<p>cachedir=/var/cache/pacman/pkg<br />
rm -f $cachedir/*.aria2<br />
file=`echo $1|awk -F &#8216;/&#8217; &#8216;{ print $NF }&#8217;`<br />
echo Downloading: $file|sed &#8216;s,/,,&#8217;<br />
repo=`echo $1|awk -F &#8216;/&#8217; &#8216;{x=NF-3 } { print  $x }&#8217;`<br />
echo %repo: $repo<br />
mirrors=`sed -n &#8216;s/^Server = //; s/$repo/&#8217;$repo&#8217;/ ; s,$,/&#8217;&#8221;/$file&#8221;&#8216;, ; /^ftp/p; /^http/p&#8217; /etc/pacman.d/mirrorlist`</p>
<p>if [[ $2 = *.db.tar.gz.part || $repo = "testing" ]]; then<br />
       echo &#8220;(using one mirror: $1 )&#8221;<br />
       mirrors=$1<br />
       cachedir=/var/lib/pacman<br />
fi </p>
<p>aria2c -t60 -m5 -l /var/log/pacget.log $mirrors -o $file.pacget<br />
if [ -f $cachedir/$file.pacget.aria2 ]; then<br />
	exit 130<br />
fi<br />
mv $file.pacget $2<br />
</coolcode></p>
<p style="text-indent: 4mm" >还是没有给我失望，下载速度提上去了； 不是最快，但满足了 <img src='http://mifunny.info/blog/wp-includes/images/smilies/icon_smile.gif' alt=':smile:' class='wp-smiley' />
</p>
<p><span id="more-57"></span><br />
<img class="frame" src="http://lh4.ggpht.com/kldscs/SHryujXvQ5I/AAAAAAAAASM/r_pNbTATpOM/s800/aria2.png" title="pacget运行截图" alt="pacget aria2c 绑定到 pacman" width="530" height="40" /><br />
还有我的mirrorlist<br />
<coolcode><br />
#<br />
# Arch Linux repository mirrorlist<br />
#<br />
Server = ftp://ftp.archlinux.org/$repo/os/i686<br />
Server = http://mirror.lupaworld.com/archlinux/$repo/os/i686<br />
Server = ftp://archlinux.gooth.cn/public/$repo/os/i686<br />
Server = ftp://mirror.pacific.net.au/linux/archlinux/$repo/os/i686<br />
Server = ftp://cle.linux.org.tw/pub/ArchLinux/$repo/os/i686<br />
#<br />
Server = http://mirrors.lcuc.org.cn/archlinux/$repo/os/i686<br />
Server = http://darkstar.ist.utl.pt/archlinux/$repo/os/i686<br />
Server = ftp://ftp.belnet.be/packages/archlinux/$repo/os/i686<br />
Server = http://distro.ibiblio.org/pub/linux/distributions/archlinux/$repo/os/i686<br />
Server = ftp://mirror.cs.vt.edu/pub/ArchLinux/$repo/os/i686<br />
Server = http://mirrors.easynews.com/linux/archlinux/$repo/os/i686<br />
</coolcode></p>
]]></content:encoded>
			<wfw:commentRss>http://mifunny.info/arch-pacget-script-57.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[shell脚本]文件编码转换</title>
		<link>http://mifunny.info/convert-coding-script-52.html</link>
		<comments>http://mifunny.info/convert-coding-script-52.html#comments</comments>
		<pubDate>Wed, 18 Jun 2008 03:00:38 +0000</pubDate>
		<dc:creator>LD</dc:creator>
				<category><![CDATA[Shell]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[大佛Linux]]></category>

		<guid isPermaLink="false">http://mifunny.info/convert-coding-script-52.html</guid>
		<description><![CDATA[昨天晚上写的文件转码脚本，可以遍历目录，把给出的目录下（包括子目录）的GB2312文件转成UTF-8编码的; 当然,也可以修改文件开始的常量定义来完成其他类型文件和编码之间的转换; sh&#160;&#160; convert2.sh &#160;&#160; /your_path/ 文件：convert2.sh 文件详细内容： #!/bin/bash # -*- coding: UTF-8 -*- # #@filename: convert2.sh #@version: $0.2$ #@date: 2008/06/17 #@author: U{kldoo ... kldscs @gmail.com} #@license: LGPL #@see: 《Advanced Bash-Scripting Guide》 # http://wlx.westgis.ac.cn/42/ # http://blog.csdn.net/shrekmu/archive/2006/12/20/1450643.aspx #@note: 转换文件gb2312编码至UTF-8编码 # FILE_TYPE=".txt" #需转码的文件类型,所有文件的话置空 NUM_TYPE=`echo $FILE_TYPE &#124; wc -c` #文件类型的长度 CODING_1="GB2312" #原文件编码 CODING_2="UTF-8" #转换后的编码 # 所有编码可以在shell下输入 iconv -l [...]]]></description>
			<content:encoded><![CDATA[<p style="text-indent: 4mm" >昨天晚上写的文件转码脚本，可以遍历目录，把给出的目录下（包括子目录）的GB2312文件转成UTF-8编码的;</p>
<p style="text-indent: 4mm" >当然,也可以修改文件开始的常量定义来完成其他类型文件和编码之间的转换;
</p>
<table style="border:2px solid #E0E0E0; background-color: #BFF0FF;">
<tr>
<td>sh&nbsp;&nbsp;  convert2.sh &nbsp;&nbsp; /your_path/</td>
</tr>
</table>
<p>文件：<a href="http://mifunny.info/blog/uploads/2008/06/convert2.sh" title="文件编码转换">convert2.sh</a><br />
文件详细内容：<br />
<span id="more-52"></span>
<pre name="code" class="python:nocontrols:nogutter">
#!/bin/bash
# -*- coding: UTF-8 -*-
#
#@filename: convert2.sh
#@version: $0.2$
#@date: 2008/06/17
#@author: U{kldoo ... kldscs @gmail.com}
#@license: LGPL
#@see: 《Advanced Bash-Scripting Guide》
#  	http://wlx.westgis.ac.cn/42/
#       http://blog.csdn.net/shrekmu/archive/2006/12/20/1450643.aspx
#@note: 转换文件gb2312编码至UTF-8编码
#
FILE_TYPE=".txt"     #需转码的文件类型,所有文件的话置空
NUM_TYPE=`echo $FILE_TYPE | wc -c`   #文件类型的长度
CODING_1="GB2312"	#原文件编码
CODING_2="UTF-8" 	#转换后的编码
# 所有编码可以在shell下输入 iconv -l 查看
SUFFIX="_tmp" #零时文件的后缀

convert(){
#转换指定文件的编码
	tmp=$file$SUFFIX
	echo "Converting... $file from  $CODING_1 to $CODING_2 ."
	iconv -f $CODING_1 -t $CODING_2 $file -o $tmp
	mv $tmp $file
	#sleep 1
}

foreachd(){
#递归遍历目录
  for file in $1/*
  do
  # 如果是目录就打印处理，然后继续遍历，递归调用
    if [ -d $file ]
    then
      foreachd $file
    else
      NUM_FILE=`echo $file | wc -c`
      if [ ${file:${NUM_FILE}-${NUM_TYPE}:$NUM_TYPE} == $FILE_TYPE ]
      then
	convert "$file"
      fi
    fi
  done
}

# 遍历转换参数1目录下的文件编码
if [ $# == 1 ]
then
  foreachd "$1"
else
  echo "argv error!"
fi
# END file
</pre>
]]></content:encoded>
			<wfw:commentRss>http://mifunny.info/convert-coding-script-52.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

