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

相关推荐

  • 转载:UEFI和BIOS对比

    传统BIOS开机流程     从你按下主机机壳上的电源键,到进入作业系统的期间,储存于主机板上那颗EEPROM(电气可抹除暨可程式化唯读记忆体)里的BIOS便会开始执行以下的工作: 1. 初始化:     当电脑打开,CPU会自行重置为初始状态,准备运作。BIOS boot block(基本输出输入…

    Linux干货 2016-05-01
  • 0801课堂练习与作业

    1、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中      cat /etc/issue | tr 'a-z' 'A-Z' > /tmp/issue.out 2、将当前系统登录用户的信息转换为大写后保存至/tmp/who.out文…

    Linux干货 2016-08-02
  • 第一天参与马哥linux运维面授

    很高兴认识大家,介绍一下,我叫袁亚琼,来自美丽的云南。我是一个随和而又不随性95年女子,喜欢运动,擅长田径。学食品检测的,上学期间没怎么接触计算机,现在又来学专业计算机,内心还是有几丝恐慌,希望在今后的学习路上得到各位学友和老师的指导和帮助。等工作稳定,可以去云南放松一下,云南是个吃喝玩乐的好地方,同时也是个感受慢节奏生活的佳地。云南欢迎您哦! 选择学习li…

    Linux干货 2018-03-26
  • 负载均衡PHP应用(实现WordPress)

    一、实验目的:负载均衡PHP应用 二、逻辑构建:   三、实验需要:4台虚拟机,一台作为客户端,一台作为VS,两台作为RS 四、实验环境:VS的DIP要与RS的IP在同一个私网内,RS的默认网关为DIP;VS则要开启路由转发功能echo 1>/proc/sys/net/ipv4/ip_forword,注意防火墙和selinux都要关闭 五、实…

    2017-05-09
  • 第六周作业 bash编程学得好痛苦啊,啊啊啊~~需要挺住!

    请详细总结vim编辑器的使用并完成以下练习题 VIM很强大,但是万变不离其宗,最核心的三模式以下图表示: 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; :%s/^[[:blank:]]\+.*/\0#/g 2、复制/boot/grub/grub.conf至/…

    Linux干货 2016-12-19