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

相关推荐

  • socket阻塞与非阻塞,同步与异步、I/O模型

    1. 概念理解      在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)四种调用方式:同步:      所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前…

    Linux干货 2015-04-10
  • Apache运行机制剖析

    1. B/S交互过程 浏览器(Browser)和服务器(Web Server)的交互过程:   1、  浏览器向服务器发出HTTP请求(Request)。 2、  服务器收到浏览器的请求数据,经过分析处理,向浏览器输出响应数据(Response)。 3、  浏览器收到服务器的响应数据,经过分析处理,将最终结果显示在浏览…

    Linux干货 2015-04-10
  • 【LINUX编译安装程序】Centos7.4编译安装httpd 2.4.29

    举例:Centos7.4编译安装httpd 2.4.29

    Linux干货 2018-03-17
  • Shell脚本编程 流程控制—选择

    流程控制可根据不同的情况做不同的处理,而且可重复执行指定的程序区域,在shell bash中流程控制可分为两大类: "选择"和"循环" 1.选择:if、case、select 2.循环:for、while、until、select 命令结束状态返回值: 在shell中命令执行状态返回值分两种,成功和失败,0表示成功,非…

    Linux干货 2016-08-24
  • CentOS7 Local yum的一次报错信息

    说明:今天在火车上测试一个CentOS7下的一个服务,要用到yum配置,但是本机没有联网,所以考虑到配置本地yum,按照之前CentOS6下的常规方法,居然发现有报错。 操作如下: 1)虚拟机下将CentOS7光盘加载到系统里面,然后挂载到本地的/localyum上 [root@localhost yum.repos.d]# mount&…

    Linux干货 2016-07-16
  • 基于BIND实现的DNS正反解析及主从DNS的配置

    基于BIND实现的DNS正反解析及主从DNS的配置 标签: DNS正反解析 DNS主从复制 测试环境 准备2台虚拟机,一台为主DNS,IP地址为:192.168.103.161。另一台为从DNS,IP地址为:192.168.103.162两台都装好bind,所需包有:bind,bind-utils,bind-libs 主DNS的配置文件 配置主文件/etc/…

    Linux干货 2016-04-11