亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
1234下一頁
最近訪問板塊 發(fā)新帖
查看: 8921 | 回復(fù): 34
打印 上一主題 下一主題

拋磚引玉(a dictionary based for Terminal) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-04-16 16:55 |只看該作者 |倒序?yàn)g覽
本帖最后由 lys5300 于 2011-05-26 22:59 編輯

那天看同學(xué)在終端上查單詞覺得很好,像他資訊了一下就決定自己用bash寫一個(gè)。 :em02
也厚著臉皮的發(fā)在這里來與大家交流一下。 :em06
拋磚引玉 :em11 。
再一次修改。現(xiàn)在可以說已經(jīng)很全面了。
  1. #!/bin/bash
  2. #        This is a dictionary based for Termial.
  3. #        Its cache directory is in /tmp/dictionary/
  4. PS3='Your choice is : '
  5. word="$*"
  6. cache=~/.ydictionary/"$word"
  7. # read this word
  8. read_word()
  9. {
  10.         re_word="$1"
  11.         espeak -s 130 "$re_word" 1>/dev/null 2>&1
  12.         exit 0
  13. }
  14. # judge whether read this word.
  15. judge_read()
  16. {
  17.         readword="$1"
  18.         clew="Read it?(y/n)y:"
  19.         echo -ne "\033[35;1m$clew\033[00m"
  20.         read answer
  21.         : ${answer:=y}
  22.         if [ "$answer" = "y" ];then
  23.                 read_word "$readword"
  24.         else
  25.                 exit 5
  26.         fi
  27. }
  28. if [ $# -lt 1 ];then
  29.         echo
  30.         echo "usag: `basename $0` [word]"
  31.         echo
  32.         exit 1
  33. fi
  34. if [ -e "$cache" ];then
  35.         word2=$(cat "$cache")
  36.         echo -e "\033[34;1m$word2\033[0m"
  37.         echo
  38.         judge_read "$word"
  39.         exit 0
  40. elif [ ! -e ${cache%/*} ];then
  41.         mkdir -p ${cache%/*}
  42. fi

  43. #        抓取網(wǎng)頁快照。
  44. wordf=$(wget -q "http://dict.cn/ws.php?utf8=true&q=$word" -O -)

  45. #        截取指定字符段。
  46. #        判斷是否有單詞匹配,如果沒有給出相近的。否則就進(jìn)行查詢。
  47. if echo "$wordf"|grep 'sugg' 1>/dev/null 2>&1
  48. then
  49.         echo "You may want to search these words."
  50.         sword=$(echo "$wordf"|sed -e 's/<[\/]*sugg>//g'|grep '^[^<]'|tr ["\n"] ["\t"])
  51.         select guessw in $sword ;do
  52.                 if [ $guessw ];then
  53.                         echo -e "\033[36;1m$guessw\033[0m"
  54.                 ydic $guessw       
  55.                 exit 2
  56.                 else
  57.                 read -n 1 -p "Do you want to try again:(y/n)" choice
  58.                 echo
  59.                 if [ "$choice" = "y" ] || [ "$choice" = "Y" ];then
  60.                         echo 'Please input again:'
  61.                 else
  62.                         exit 3
  63.                 fi
  64.                 fi
  65.         done
  66. else
  67.         word1=$(echo "$wordf"|sed -e 's/<[\/]*\(def\|sent\|orig\|trans\)>//g' -e 's/&lt;em&gt;\(.*\)&lt;\/em&gt;/( \1 )/g' -e 's/\(&gt;\|&lt;\)/ /g'|grep '^[^<]')
  68.         echo "$word1">"$cache"
  69.         echo -e "\033[32;1m$word1\033[0m"
  70.         echo
  71.         judge_read "$word"
  72.         judge=$(cat "$cache")
  73.         if [ "$judge" == "Not Found" ];then
  74.                 rm -f "$cache"
  75.         fi
  76.         #cache如果大于一百兆,提示用戶。進(jìn)行釋放。
  77.         total=$(du ${cache%/*}|cut -d/ -f 1)
  78.         if [ $total -gt 102400 ];then
  79.                 echo
  80.                 echo -e "\tThe dictionary cache is beyond 100M.Maybe you can release some space."
  81.         fi
  82. fi
  83.         exit 0
復(fù)制代碼

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2011-04-16 17:21 |只看該作者
你要考慮效率的話,別用shell了,也就一眨眼的時(shí)間,你還嫌慢?

其實(shí)不用中間文件也無所謂,直接對(duì)你wget到的信息進(jìn)行處理就行了,或者干脆賦值給變量

論壇徽章:
1
摩羯座
日期:2014-12-29 15:59:36
3 [報(bào)告]
發(fā)表于 2011-04-16 18:15 |只看該作者
搬磚

論壇徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-08-03 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-08-04 06:20:00
4 [報(bào)告]
發(fā)表于 2011-04-16 18:18 |只看該作者
wget 的-O參數(shù)后面接-
-O -
就是打到標(biāo)準(zhǔn)輸出

論壇徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-08-03 06:20:00數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2016-08-04 06:20:00
5 [報(bào)告]
發(fā)表于 2011-04-16 18:18 |只看該作者
然后后面再加一個(gè)管道處理即可,這樣就不用寫臨時(shí)文件

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2011-04-16 19:50 |只看該作者
你要考慮效率的話,別用shell了,也就一眨眼的時(shí)間,你還嫌慢?

其實(shí)不用中間文件也無所謂,直接對(duì)你wge ...
xiaopan3322 發(fā)表于 2011-04-16 17:21


你用過我的腳本了嗎?

呵呵,也許你眨眼的時(shí)間有時(shí)候忒長了點(diǎn)。(有時(shí)候)

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2011-04-16 19:53 |只看該作者
然后后面再加一個(gè)管道處理即可,這樣就不用寫臨時(shí)文件
cjaizss 發(fā)表于 2011-04-16 18:18



是誒,但是我發(fā)覺那樣對(duì)結(jié)果就不好解析了。改天再試試吧,不斷的將它完善。

不過我現(xiàn)在要去做體育試卷了。。。。。嗚嗚。。

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2011-04-17 01:47 |只看該作者
你用過我的腳本了嗎?

呵呵,也許你眨眼的時(shí)間有時(shí)候忒長了點(diǎn)。(有時(shí)候)
lys5300 發(fā)表于 2011-04-16 19:50



    真牛逼啊,這程序太強(qiáng)了,執(zhí)行效率好高啊,運(yùn)行的好快啊,快的連我眨眼的時(shí)間和其比起來都顯得如此的漫長,佩服佩服啊,真是個(gè)大拿,讓我等盧瑟情何以堪……哎……看來要回去好好學(xué)習(xí)下shell了……LZ讓我對(duì)shell有了新的認(rèn)識(shí)……

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2011-04-17 07:30 |只看該作者
回復(fù) 8# xiaopan3322


   在此我不想和你做這種毫無意義的辯解,因?yàn)槟菢颖旧砭瓦`背了我將這個(gè)腳本發(fā)在這上面的初衷,你是善意也好,惡意也罷,都無所謂。對(duì)吧,因?yàn)槟愕幕卮饘?duì)我沒有任何的參考價(jià)值,Linux下的人都是熱心與幫助別人的,而我從你的身上看到的卻不是。你又叫我能奈你何呢?如果你不想看,覺得不好,那你大可以避而遠(yuǎn)之。我等亦樂此不疲的做這些事。

    第一次發(fā)貼就如是,實(shí)讓人哀嘆。希望你能忽略我的片面之言,如果你反其道而行之。那著實(shí)讓人心寒,辛酸。  

論壇徽章:
2
射手座
日期:2014-10-10 15:59:4715-16賽季CBA聯(lián)賽之上海
日期:2016-03-03 10:27:14
10 [報(bào)告]
發(fā)表于 2011-04-17 09:06 |只看該作者
回復(fù) 9# lys5300


   
這位兄弟,學(xué)習(xí)你的帖子!
xiaopan兄應(yīng)該對(duì)你沒有惡意,可能你有些敏感了
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP