在linux過程中難免會碰到陌生的單詞,此時不得不打開翻譯軟件或網頁請求翻譯,但這樣切換界面比較麻煩,也浪費時間;
今天頭腦發熱,嘗試著在網上找命令行翻譯工具,但無果;無意中,某python在論壇中看到有網友用python調用”有道翻譯API”接口的翻譯腳本,但該筆者的python腳本寫的非常復雜,故萌生了自己寫shell腳本的念頭;經過1小時,寫出了下面簡陋但能湊合著用的命令行在線翻譯腳本;
大概思路如下:
1、擁有道翻譯API接口【申請翻譯API傳送門】;
2、通過get方式請求翻譯【注:只能通過get方式請求】;
3、過濾翻譯結果;
代碼如下:
#!/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環境變量』
下面是簡單測試效果:
原創文章,作者:Jev Tse,如若轉載,請注明出處:http://www.www58058.com/69418