- 论坛徽章:
- 0
|
本帖最后由 madfrogme 于 2013-03-17 11:51 编辑
用Bash脚本wget, sed 和金山词霸写的一个命令行词典
用法很简单 ./d memory 则查memory 的读音和意思
wget是安静模式,没有输出,比如查memory,则会下载memory这个文件
然后cat $1 | col -b | sed 's/[ \t]*//g' > tmp 这一行是去掉所有^M字符,和空格
去掉空格主要是我自己的喜好,方便用正则, 就这几行,仅供参阅
要是真想看懂下面的正则,最好先看一下下载下来的源文件
不想把它弄得太复杂,这样也方便别人删删减减,做成自己的口味
看到下面版主的提示也许还可以把例句抽出来什么的会不会很好啊,
不过个人喜好不同,这就给大家自己判断了
------------------------------------
#!/bin/bash
wget -q http://www.iciba.com/$1
cat $1 | col -b | sed 's/[ \t]*//g' > tmp
sed -n 's/<strong>\[<\/strong><stronglang="EN-US"xml:lang="EN-US">\(.*\)<\/strong><strong>\]<\/strong>/\1/p' tmp
# 下面第一个sed是找到 <spanclass..... 和 </span>之间的内容
# 然后传递给下一个sed
# 下面的第二个sed的意思是找到<label>这一行之后,进而继续匹配
# 然后这次匹配是用s# # # 的形式, 把<label> 和</label>都删掉
sed -nr '/<spanclass="label_list"/,/<\/span>/p' tmp | sed -nr '/<label>/{s#<[/]?label>##g;p}'
rm $1 tmp
---------------------------------------
|
评分
-
查看全部评分
|