shell-在线翻译脚本

        在linux过程中难免会碰到陌生的单词,此时不得不打开翻译软件或网页请求翻译,但这样切换界面比较麻烦,也浪费时间;

        今天头脑发热,尝试着在网上找命令行翻译工具,但无果;无意中,某python在论坛中看到有网友用python调用”有道翻译API”接口的翻译脚本,但该笔者的python脚本写的非常复杂,故萌生了自己写shell脚本的念头;经过1小时,写出了下面简陋但能凑合着用的命令行在线翻译脚本;

大概思路如下:

1、拥有道翻译API接口【申请翻译API传送门】

2、通过get方式请求翻译【注:只能通过get方式请求】;

3、过滤翻译结果;

代码如下:

shell-在线翻译脚本

#!/bin/bash
#Verson:2.8
#Auther:Jev Tse #Pragram:This is a chinese-english translation scripts.
    TMP=$(mktemp /tmp/tmp.XXXXXXXX)     URL='http://fanyi.youdao.com/openapi.do?keyfrom=<keyfrom>&key=<key>&type=data&doctype=<doctype>&version=1.1&q='     wget -q  -O $TMP  "$URL$*"     if  cat $TMP | grep  '\<ex\>' &>/dev/null  ;then         cat $TMP | grep -Po '(?<=\<ex\>\<\!\[CDATA).*(?=\]\>)'   | head -1     else         cat $TMP | grep -Po '(?<=\<paragraph\>\<\!\[CDATA).*(?=\]\>)' | head -1     fi     rm $TMP     unset TMP URL 

注:

<keyfrom>    即申请时的应用名称

<key>        申请得到的API key

<doctype>    请求类型:xml

如<keyfrom>为linux,<key>为88888888,则url为:

url='http://fanyi.youdao.com/openapi.do?keyfrom=linux&key=88888888&type=data&doctype=xml&version=1.1&q='

将该脚本保存在/usr/bin/下,即可;『也可以通过修改PATH环境变量』

下面是简单测试效果:

shell-在线翻译脚本

原创文章,作者:Jev Tse,如若转载,请注明出处:http://www.178linux.com/69418

(10)
Jev TseJev Tse
上一篇 2017-02-19 03:25
下一篇 2017-02-19 11:50

相关推荐

  • Linux下 文件类型不同颜色的含义

    linux 文件颜色的含义 蓝色代表目录 绿色代表可执行文件 红色表示压缩文件 浅蓝色表示链接文件 灰色表示其他文件 红色闪烁表示链接的文件有问题了 黄色表示设备文件 蓝色文件———-目录 白色文件———-一般性文件,…

    Linux干货 2016-10-18
  • 网络基础知识

    网络基础知识: 网络设备 TCP/IP协议 ARP协议 网络设备:     HUB集线器: 工作在物理层,没有学习能力,作用在于把各种节点汇聚在以它为中心的节点上,同时也有传输数据的作用,由于没有学习能力,只能以广播的形式将数据发送给与它相连的所有节点。 特点:共享带宽,半双工     &…

    Linux干货 2016-09-02
  • 博客

       这是我的第一篇博客!   平时学习中,总会遇到或大或小的问题,以及一些新的感悟,在当时能够十分清晰记得,但过一些时日,便发现又忘记了。以前十分明白的东西,又变得有些模糊,甚至完全忘记。因此特别需要记录下来,方便日后的查阅或分享给其他遇到类似问题的朋友。    如果以后忘记的某些知识,这时候,翻开以往博客…

    Linux干货 2017-07-11
  • 20160809作业

    一、如何设置tab缩进为4个字符       临时设置:set tabstop=4       全局设置vim /etc/vimrc—>添加set tabstop=4       当前用户生效,手动添加文…

    Linux干货 2016-08-10
  • 初入LINUX之首周总结及虚拟机的安装

    一.初入LINUX   1.在接触LINUX之前,先了解了计算机的系统组成: 2.服务器是计算机的一种,是网络中为客户端计算机提供各种服务的高性能的计算机,服务器在网络操作系统的控制下,将与其相连的硬盘磁带,打印机及昂贵的专用通讯设备提供给网络上的客户站点共享,也能为网络用户提供集中计算、信息发布及数据管理等服务 。 3.服务器的三大操作系统:①w…

    2017-05-20
  • 文件查找命令之find

    文件查找命令一共有两种,locate 和find ,那么他们在用法和功能上面有什么区别呢?     locate:查找速度快,模糊查找,遍历整个文件系统的目录到数据库中,然后在去数据库中查找,依赖于事先创建好的索引库,该数据库属于系统自动创建,定期自动更新,也可手动跟新,更新命令updatedb,更新数据库需要遍历整个根文件系统…

    Linux干货 2016-08-16