lazyword简易版本(shell版本)

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
送出感谢: 0
接收感谢: 0
联系:

lazyword简易版本(shell版本)

#1

帖子 lerosua » 2009-03-23 12:42

转自http://www.lerosua.org/2009/03/lazyword%e7%ae% ... %e6%9c%ac/

linuxdesktop上tx介绍了一个新软件,叫lazyword, 用来不知不觉背单词的。我觉得它提的那个概念极好,就是复习stardict查询过的单词。虽然还处于预览阶段,不过我还是去下载了。

才发觉它不是我那杯茶。不是说他不好,我绝没这意思,只是我这人从来尽量不用qt的东西的。何况是qt的开发环境呢,所以lazyword也就编译不了了,它是基于qt4.5的。二来它未必考虑sdcv的情况吧,这点未证实。

于是无聊就写了个脚本,实现定时显示sdcv查询过的单词,也算是lazyword的简易版本吧。

代码: 全选

#!/bin/sh
#lazyword easy version by lerosua
book=~/.sdcv_history
stime=15000
itime=100
 
while [ true ]
do
line=`wc -l $book |awk '{print $1}'`
num=`expr $RANDOM % $line`
word=`sed -n "${num}p" $book`
content=`sdcv -n $word`
notify-send -t $stime  "$content"
 
sleep $itime
done
脚本主要依赖sdcv(stardict的命令行版本,平时我用它查询单词),notify-send(显示notify用)。 每一百秒显示一次查询过的单词,每次显示15秒。
没有用sdcv的朋友可以自定义单词本,换掉book变量即可。单词本要求就是一行一个单词而已,时间也可以随便定义。都是很简单的语句,大家都明白,自取所需吧。

更新:如果是使用sdcv的历史记录作为生词本的话,有可能出现漏词的现象,而查询过多次的情况下,这词就重复出现两三次而把其它没查过的词挤掉。解决的办法是取出这个词马上把它从历史记录中删除掉,不用担心,因为后面用sdcv查询一次就会加上。而这样也能让单词本流动从而使随机取得的单词更完善(我想象的)。
在取得word后面加上这句就行了:

代码: 全选

sed -i "${num}d"  ~/.sdcv_history
实际上可以直接写成$book的,但我怕某些人不小心删除掉它自己的单词本就不好了。这样可以表明这是sdcv_history专用的,也不怕人误用了,呵呵。
头像
想入非非
论坛版主
帖子: 8078
注册时间: 2008-07-14 22:42
来自: Beijing
送出感谢: 0
接收感谢: 0
联系:

Re: lazyword简易版本(shell版本)

#2

帖子 想入非非 » 2009-03-23 13:23

看成lazyubuntu了 :em06
Ubuntu User
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
送出感谢: 0
接收感谢: 0
联系:

Re: lazyword简易版本(shell版本)

#3

帖子 lerosua » 2009-03-23 13:25

想入非非 写了:看成lazyubuntu了 :em06
:em20
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
送出感谢: 0
接收感谢: 3 次
联系:

Re: lazyword简易版本(shell版本)

#4

帖子 xiooli » 2009-03-23 13:30

有没有可能写一个vim插件,输入单词时去查stardict,以菜单的形式显示可能单词?
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
送出感谢: 0
接收感谢: 0
联系:

Re: lazyword简易版本(shell版本)

#5

帖子 lerosua » 2009-03-23 13:47

头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙
送出感谢: 4 次
接收感谢: 256 次

Re: lazyword简易版本(shell版本)

#6

帖子 eexpress » 2009-03-23 13:49

居然还sh的啊
:em04
● 鸣学
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
送出感谢: 0
接收感谢: 0
联系:

Re: lazyword简易版本(shell版本)

#7

帖子 lerosua » 2009-03-23 14:15

sh的咋了
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
送出感谢: 0
接收感谢: 3 次
联系:

Re: lazyword简易版本(shell版本)

#8

帖子 xiooli » 2009-03-23 16:41

lerosua 写了:http://paste.ubuntu.org.cn/13536
这样的?
no,like this:
附件
snapshot10.png
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
送出感谢: 0
接收感谢: 0
联系:

Re: lazyword简易版本(shell版本)

#9

帖子 lerosua » 2009-03-23 17:19

这个难度有点高 :em06
头像
wangdu2002
帖子: 13284
注册时间: 2008-12-13 19:39
来自: 物华天宝人杰地灵
送出感谢: 1 次
接收感谢: 6 次

Re: lazyword简易版本(shell版本)

#10

帖子 wangdu2002 » 2009-03-23 17:21

顶下Lerosua兄弟的大作! :em11
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
回复

回到 “Shell脚本”