`

命令行词典

    博客分类:
  • Ruby
阅读更多
经常要查单词,所以利用qq dict api写了一个命令行词典工具:
#!/usr/bin/env ruby

require 'rubygems'
require 'net/http'
require 'json'

def trans(q)
    url = "http://dict.qq.com/dict?q=#{URI.encode(q)}"
    resp = Net::HTTP.get_response(URI.parse(url))
    result = JSON.parse(resp.body)
    tran_entries = result['local']
    if tran_entries.nil? or tran_entries.empty? then
        puts "没有找到"
        return
    end
    base_s = tran_entries[0]
    puts base_s['word']
    puts "基本解释"

    result = base_s['des'].collect do |entry|
        if entry.is_a? Hash then
            entry.values.join(',')
        else
            entry
        end
    end
    puts result.join(',').gsub('"','"')
end

if ARGV.empty? then
    puts "Usage: #$0 word"
    exit(1)
end
trans ARGV[0]

把代码文件命名为t,放在~/bin下
sudo chmod +x t
在~/.bashrc下添加
export PATH=~/bin:$PATH
然后就可以直接查询单词了:
$t book
book
基本解释
书, 书籍, 帐簿, 名册, 工作簿,n.,登记, 预订,vt.,登记, 预订

$t 书

基本解释
book,letter,script,write

补充一个shell的:
t(){ 
    if [ "$(echo "$1" | sed 's/[a-zA-Z]//g')" = "" ]; then
        langpair="en|zh"
    else
        langpair="zh|en"
    fi
    wget -qO- "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=$1&langpair=$langpair" | sed 's/.*"translatedText":"\([^"]*\)".*}/\1\n/';     
}

t $1
3
2
分享到:
评论
5 楼 Goldice 2011-09-27  
结果还好,毕竟不是用来学英语,当做阅读文档的工具。
fuliang 写道
orcl_zhang 写道
恩,用上去了,不用浏览器了。这样。

我只把基本解释输出了,需要的话可以把一堆网络解释以及例子加上。
不过我感觉qq dict的网络解释质量不够高,看起来有点乱。

4 楼 fuliang 2011-09-27  
orcl_zhang 写道
恩,用上去了,不用浏览器了。这样。

我只把基本解释输出了,需要的话可以把一堆网络解释以及例子加上。
不过我感觉qq dict的网络解释质量不够高,看起来有点乱。
3 楼 orcl_zhang 2011-09-27  
恩,用上去了,不用浏览器了。这样。
2 楼 bee1314 2011-09-27  
呵呵。之前有高手python版本,更有高手shell版本!
1 楼 Goldice 2011-09-27  
很好用!谢谢分享。

相关推荐

    python命令行有道词典(使用requests库查询)

    从有道翻译网页上扒下来的词典查询接口,使用requests提交数据,并处理返回的查询结果(json格式),主要作为类似程序的demo,也可以是作为命令行词典来使用,代码很少,但基本具有代表性,可以作为类似程序的参考。...

    适用于macOs,_Windows和Linux的命令行词典_iDict-cmd.zip

    适用于macOs,_Windows和Linux的命令行词典_iDict-cmd

    跨平台命令行词典_a_command-line_dictionary_supported_Linux_kd.zip

    跨平台命令行词典_a_command-line_dictionary_supported_Linux_kd

    Linux词典工具含源代码(开源命令行词典SDCV,含本地词典,可集成在VIM中使用)

    sdcv Linux 下翻译用词典,终端命令行方式使用,可集成在VIM、GEdit等编辑器中使用 1.可执行文件:bin目录下的sdcv为编译好的可执行文件,可直接使用 2.最新源代码:sdcv-master0.5.2.zip 3.词典:21世纪英汉汉英...

    cpp-适用于macOsWindows和Linux的命令行iDict英语词典

    在本项目中,cpp被用于创建一个跨平台的命令行工具,即“iDict英语词典”。 “iDict英语词典”是一个专门用于查询英语词汇的工具,它可以在macOS、Windows和Linux这三种操作系统上运行。这意味着它具有良好的跨平台...

    Python-有道词典的命令行版本支持英汉互查和在线查询

    无道词典,简洁优雅的有道词典命令行版本。支持离线查询和在线查询英/汉的功能。Python编写。 功能特性 20w英文词库 10w汉英词库 英汉/汉英查询功能 词组查询功能(直接输入wd in order to) 在线查询功能(从有道词典...

    命令行下的有道词典

    用linux命令行下工作时经常需要查一下词典,而linux下又没有让我觉得满意的词典,所以自己动手用python写了一个脚本,可以在线翻译单词 使用的是有道翻译的api,查询结果有语音,基本释义和网络释义。理论上可以进行...

    Python-shell命令行下词典支持中英文互相查询

    标题提到的"Python-shell命令行下词典支持中英文互相查询"是指利用Python编写的一个命令行程序,它允许用户在终端上直接进行词汇的查询,而无需打开专门的翻译软件或在线网站。这样的工具对于程序员来说非常便捷,...

    sdcv.el for emacs

    `sdcv` 是一个命令行词典查看器,支持多种词典格式,如 StarDict 和 dictd。在 Emacs 中整合 `sdcv`,可以让用户方便地在编辑器内部查询单词,提高学习和工作的效率。 首先,我们需要了解 Emacs。Emacs 是一款高度...

    一个用C语言实现的命令行英汉对照词典.zip

    《C语言实现的命令行英汉对照词典详解》 在计算机编程领域,C语言以其高效、简洁和灵活性被广泛应用于系统级编程和各种软件开发。本篇文章将深入探讨一个用C语言实现的命令行英汉对照词典的实现原理与技术细节。这...

    sdcv使用的英汉互译辞典

    `sdcv` 是一个非常实用的命令行词典工具,尤其在Linux和类Unix系统中广泛使用。它支持多种语言的翻译,其中包括英语和汉语,这使得它成为学习和工作中的有力助手。本篇文章将深入探讨`sdcv`的使用方法,以及与之配合...

    开源项目-liipx-gdict.zip

    开源项目-liipx-gdict.zip,多词典引擎命令行词典小工具,支持 alfred。

    pydict:python命令行字典

    Pydict 是一个简单的命令行词典,它可以让您在终端上搜索单词的含义。 它指的是在线词典也可以发音关键字。 要求 它需要一个命令行 mp3 播放器 - mpg123。 要安装它,请使用以下命令: $ sudo apt-get install mpg...

    Python-Vocab一个与命令行集成的轻量级在线词典

    **Python-Vocab:命令行集成的轻量级在线词典** Python-Vocab 是一款专为开发者设计的便捷工具,它允许用户在命令行环境中快速查询单词的定义和用法,无需离开终端。这个项目旨在提高程序员的学习效率,尤其是在...

    利用python实现命令行有道词典的方法示例

    平常都是用终端敲, 有时候不会的词语也懒得打开词典了,干脆搞了个简单的查词命令。下面这篇文章主要给大家介绍了利用python实现命令行有道词典的方法示例,需要的朋友可以参考借鉴,一起来看看吧。

    简易电子词典(java)

    【简易电子词典(Java)】是一个基于Java编程语言实现的简单词汇查询工具,它允许用户在命令行界面中执行单词查询和添加等基本操作。这个项目为初学者提供了了解和实践面向对象编程、文件处理以及用户交互设计的平台...

    新世纪英汉科技大词典_stardict

    2. 打开终端或命令行界面。 3. 使用`sudo`命令或者管理员权限,将解压出的文件移动到"/usr/share/stardict/dic",如:`sudo cp -r 解压后路径/* /usr/share/stardict/dic/`。 4. 同样,将文件复制到个人词典目录,如...

    linux下命令行的C语言在线英语小词典

    该项目基于Linux下C语言编写,使用TCP协议,采用sqlite3作数据库,分客户端、 服务器端两部分。 用sqlite3操作命令建立数据库。 客户端注册、登陆,服务器端检验合法性。 登陆成功后可以查询单词,查询历史查询记录...

Global site tag (gtag.js) - Google Analytics