• 订阅

    抓虾
    google reader
    bloglines
    鲜果
  • 分类目录

  • 功能

  • 标签

    blog evmaker festival Fvwm gloobus GMChess gmitter GMLive gtkmm iCalk iTalk M8 ppstream program sdcv soft talkmm twitter vim 不折腾 中国象棋 价值 健身 北漂 回忆 小说 幼稚的思想 影评 感想 手机 推倒 旅游 朝花夕拾 生活 电影评论 社会 社会事件 笔记本 网络 美剧 言论自由 过年 随想 黑客 黑客小说
  • Archive for 三月 23rd, 2009

    lazyword简易版本(shell版本)

    星期一, 三月 23rd, 2009

    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专用的,也不怕人误用了,呵呵。