#!/bin/bash
# Command line look up using Google's define feature - command line dictionary
echo "Type in your word:"
read word
/usr/bin/curl -s -A 'Mozilla/4.0' 'http://www.google.com/search?q=define%3A+'$word \
| html2text -ascii -nobs -style compact -width 500 | grep "*"
从google.com转储整个系列的定义,如下所示:
Type in your word:
world
* universe: everything that exists anywhere; "they study the evolution of the universe"; "the biggest tree in existence"
* people in general; especially a distinctive group of people with some shared interest; "the Western world"
* all of your experiences that determine how things appear to you; "his world was shattered"; "we live in different worlds"; "for them demons were as much a part of reality as trees were"
问题是,我不需要所有的定义,而只是第一个:
universe: everything that exists anywhere; "they study the evolution of the universe"; "the biggest tree in existence"
如何从输出中抓住那句话?它在两个*之间,可以使用吗?
解决方法:
这将从第一行的开头剥离项目符号,将其打印并丢弃其余的输出.
sed 's/^ *\* *//; q'