免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: lys5300
打印 上一主题 下一主题

抛砖引玉(a dictionary based for Terminal) [复制链接]

论坛徽章:
0
11 [报告]
发表于 2011-04-17 09:34 |只看该作者
回复 10# yinyuemi


    恩。大家都是为了学习。。。。

呵呵。。。

论坛徽章:
0
12 [报告]
发表于 2011-04-17 13:24 |只看该作者
本帖最后由 xiaopan3322 于 2011-04-17 14:43 编辑

回复 10# yinyuemi


    哎,他这个人吧,怎么说好呢,看他说了一堆,我好怕的,

    不过我回头看了下他的这个程序吧,一个简单的问题搞这么复杂,特别是最后那句sed处理,我实在也看不下去。。。
    本来处理html标签,零宽断言是最合适不过的,就算不用零宽断言,用普通正则也很好处理……

    @LZ,
    看下下面这个,帮你改过了(把wget换成了curl)(我的环境不支持中文编码显示,所以未测试,你自己测下):
  1. #!/bin/bash
  2. word=$1
  3. [ -z $word ] && { echo "pls enter a word"; exit 1; } || echo "results for \"$word\" is as bellow showed:"

  4. temp=`curl -s "http://dict.cn/ws.php?utf8=true&q=$word"`
  5. if echo $temp | grep 'sugg' 1>/dev/null 2>&1
  6. then
  7.         echo "You may want to search these words."
  8.         echo $temp | sed -e 's/<[^>]*>//g'|grep '^[a-zA-Z]'|tr ["\n"] ["\t"]
  9.         exit 2
  10. else
  11.         echo $temp | sed -e 's/<[^>]*>//g;/^[[:space:]]*$/d' -e 's/&lt;em&gt;//g' -e 's/&lt;\/em&gt;//g'
  12.         exit 0
  13. fi
复制代码

论坛徽章:
0
13 [报告]
发表于 2011-04-17 13:27 |只看该作者
回复  xiaopan3322


   因为你的回答对我没有任何的参考价值 ...
lys5300 发表于 2011-04-17 07:30


这句话让我很无语……
看楼上

论坛徽章:
0
14 [报告]
发表于 2011-04-17 13:46 |只看该作者
回复 12# xiaopan3322


    统一用 正则表达式 会将其他无用标签行也匹配了, 违反了初衷

    讨论问题,请大家别引申到人身攻击, 楼主没有理解8楼的意思

论坛徽章:
0
15 [报告]
发表于 2011-04-17 13:48 |只看该作者
if grep 'sugg' $wordf 1>/dev/null 2>&1
then
    echo "YOu may want to search these words.:"
    cat $wordf | sed -e 's/<[\/]*sugg>//g' | grep '^[a-zA-Z]' #| tr ["\n"] ["\t"]
    echo
    rm $wordf
    exit 2
else
    cat $wordf|sed -e 's/<[\/]*def>//g; s/<[\/]*sent>//g; s/<[\/]*orig>//g; s/<[\/]*trans>/ /g; s/&lt;[\/]*em&gt;//g' |grep '^[a-zA-Z]' > $cache && cat $cache
    rm $wordf
    exit 0
fi


这样更好点

论坛徽章:
0
16 [报告]
发表于 2011-04-17 13:54 |只看该作者
再次精简

    cat $wordf|sed -e 's/<[\/]*\(def\|sent\|orig\|trans\)>//g ;s/&lt;[\/]*em&gt;//g' |grep '^[a-zA-Z]' > $cache && cat $cache

论坛徽章:
0
17 [报告]
发表于 2011-04-17 13:59 |只看该作者
都是弓虽人!
弱弱的问一下:大家写shell写的如此精简,到底是精简之后效率确实很高,还是show一下自己对shell理解很深刻呢?
我是shell外行,如果写的精简不会导致执行效率很高的话,写的让更多的人容易明白是我个人希望看到的。

论坛徽章:
0
18 [报告]
发表于 2011-04-17 14:11 |只看该作者
本帖最后由 xiaopan3322 于 2011-04-17 14:15 编辑

回复 15# chenbin200818


    个人觉得,,,最好别这么写,
    一,是因为楼主得到的确实是html结果;
    二,是因为不能保证除了这几个标签之外,还有没有其他的标签了,脚本,正则,都要考虑到通用性……

论坛徽章:
0
19 [报告]
发表于 2011-04-17 14:12 |只看该作者
谁知道怎么修改字体的颜色,我想高亮显示搜索的单词
修改下代码,请高手帮忙下

cat $wordf|sed -e 's/<[\/]*\(def\|sent\|orig\|trans\)>//g ;s/&lt;em&gt;\(.*\)&lt;\/em&gt;/\1/g' |grep '^[a-zA-Z]' > $cache && cat $cache

将第二个匹配的 \1 给高亮显示或者显示其他颜色
我用 \033[32;49;1m 修改不成功

论坛徽章:
0
20 [报告]
发表于 2011-04-17 14:21 |只看该作者
回复 19# chenbin200818


    高亮显示在哪里?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP