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

相关推荐

  • 马哥教育的第一天

    春天的北京,比想象中的更加温暖,跨越一千三百公里的距离,我来到马哥教育位于北京昌平区的校区,传说中的春寒料峭似乎遗忘了北京,自湖北出门的时候,车外还是淅淅沥沥的小雨,到达北京,迎接我的却是春风拂面熏人醉。 安顿了两天之后,我们三十期的开班典礼在三月二十六号早上的九点钟准时开始,由云珍老师主持,传说中的马哥、王老师、张sir、宗华老师纷纷登台致辞,分别从运维工…

    2018-03-26
  • diy自己的linux

    准备一台liunx的机器,我用的是liunx虚拟机 单独加载一块硬盘,我加载了一块20G的硬盘,然后用fdisk /dev/sdb进行分区,sdb1用来作为将来系统的/boot分区,所有100M就可以了,sdb2用来作为将来系统的/分区,我给了10G。然后将两个分区格式化为ext4系统。 mkdir /mnt/boot mkdir /mnt/sdc2 mou…

    Linux干货 2016-09-14
  • 【知识点】NO.1—-关于删除文件后未及时释放磁盘空间问题

    删除了某些占用大存储的文件,发现占用的磁盘空间并没有的到释放。怎么解决呢?
    在工作中经常遇到服务器某个存放日志或者某些数据的磁盘(或者目录),因为检查不及时磁盘存储满了的状况。释放空间真的只是删除文件这么简单吗?nonono…

    2017-11-18
  • n28 第二周作业

    n28 第二周作业

    Linux干货 2017-12-09
  • 第五次作业

    1、当用户xiaoming 对/testdir  目录无执行权限时,意味着无法做哪些操作?   由于/testdir为目录,意味着xiaoming用户对此目录至少不能用cd命令跳转进入目录内,但是可以用ls -l命令查看此目录下的文件列表详细信息 2、当用户xiaoqiang 对/testdir  目录无读权限时,意味…

    Linux干货 2016-08-07
  • Linux Basics–part5

    1、显示当前系统上root、fedora或user1用户的默认shell ~]# grep “^\(root\|fedora\|user1\)” /etc/passwd | cut -d: -f7 或者 ~]# egrep “^(root|fedora|user1)” /etc/passwd | cut -d:…

    Linux干货 2017-08-24