Saturday, May 26, 2007

[zz]Linux下用fortune制作诗词检索系统

Linux下有一个小程序fortune,能随机打印一些名言警句(有好的,有不好的)之类的。有时用来试试运气,大概就是它叫fortune的原因吧。
fortune带了一个参数"-m"用来从fortune文件中搜索指定的模式。
例如:


[sprite@calabash python]$ fortune -m "tired of think"
%% (fortunes)
A conclusion is simply the place where someone got tired of thinking.


因此,在此基础上做一个小诗词检索系统。下面是基本步骤。

1、安装fortune。

2、制作自己的fortune文件,文件的内容当然就是诗、词了。具体方法如下:
(1)把诗词录入文本文件,每首词之间用“%”分开。例如:

【年代】:先秦
【作者】:伯夷叔齐
【作品】:采薇歌
【内容】:

登彼西山兮,采其薇矣。
以暴易暴兮,不知其非矣。
神农虞夏,忽焉没兮。
吾适安归矣。
吁嗟徂兮,命之衰矣。
%
【年代】:先秦
【作者】:荆轲
【作品】:易水歌
【内容】:

风萧萧兮易水寒,壮士一去兮不复还。
%

(2)然后用strfile将其制作成随机访问文件。
[sprite@calabash ~]$ /usr/sbin/strfile poet

在当前目录下会形成poet.dat的文件。
(3)将这两个文件拷贝到fortune目录下。
sudo cp poet poet.dat /usr/share/fortune

3、然后就可以从poet中检索诗词了。
[sprite@calabash ~]$ fortune -m "钱多事少" poet
%% (poet)
【年代】:当代
【作者】:佚名
【作品】:工作
【内容】:
钱多事少离家近,
位高权重责任轻。
睡觉睡到自然醒,
数钱数到手抽筋。

如果觉得上面的命令麻烦,写一个脚本放到~/usr/local/bin中


#!/bin/bash
fortune -m "$*" poet

No comments: