这两天想找个CLI命令行的字典小工具,搜到了LinuxTOY的这篇:http://linuxtoy.org/archives/gdict.html
文中提到的gdict.sh是使用curl从google dictionary中查询单词解释,然后sed截取出中文解释。但现在google dictionary已改用袖珍牛津英语词典(见这里),只能查英语-英语了,并且查询结果由于html2text的原因还带有一些特殊字符,影响使用。
看到文章中各位Linuxer的回贴,我简单改写了一个查字典shell,查询的信息来自百度词典。由于我对sed不熟,所以写的比较笨拙,好在还能用用。代码如下:
#!/bin/bash
ARGS=1
E_BADARGS=65
if [ $# -ne "$ARGS" ]
then
echo "Usage:`basename $0` word"
exit $E_BADARGS
fi
w3m -no-cookie -dump 'http://dict.baidu.com/s?wd='$1'&f=3'
| sed '/以下结果来自互联网网络释义/,$d'| sed '1,15d' | tac
| sed '1,2d' | tac |sed -r '/^[0-9]+./N;s/n//' > /tmp/rxdict.tmp
echo
echo -e "-------------------- 33[1;40;33m $1 33[0m--------------------"
cat /tmp/rxdict.tmp
exit 0