0

Wordnet を使用した辞書検索のコマンド ライン スクリプトを次に示します。

#!/bin/bash
# Command line look up using Wordnet - command line dictionary

echo "Type in your word:"
read word

/usr/bin/curl -s -A 'Mozilla/4.0'  'http://wordnetweb.princeton.edu/perl/webwn?s='$word'&sub=Search+WordNet&o2=&o0=1&o7=&o5=&o1=1&o6=&o4=&o3=&h=' \
| html2text -ascii -nobs -style compact -width 500 | grep "*"

ここに「こんにちは」と入力すると、出力が次のようになります。

Type in your word:
hello
**** Noun ****
    * S:(n)hello, hullo, hi, howdy, how-do-you-do (an expression of greeting) "every morning they exchanged polite hellos"

S: の後にある文字列のみが必要で、その前には何もありません。以下を削除したいです。

**** Noun ****
    * S:

これを単独で配管するために残します->

(n)hello, hullo, hi, howdy, how-do-you-do (an expression of greeting) "every morning they exchanged polite hellos"
4

3 に答える 3

0

あなたがそれをするために、あるいはおそらく、特に注意するためにそれを変えるならば、sed -eあなたはあなたが望むものを手に入れるだろうと私は信じます。sedコマンドがタブを置き換えている場合(私にはわかりません)、それを保持したい場合があります...s/^.*S:/ /s/^[^S]*S://

于 2009-10-24T05:48:04.610 に答える
0

DigitalRossの答えに追加するコードが動作しています:

#!/bin/bash
# Command line look up using Wordnet - command line dictionary

echo "Type in your word:"
read word

/usr/bin/curl -s -A 'Mozilla/4.0'  'http://wordnetweb.princeton.edu/perl/webwn?s='$word'&sub=Search+WordNet&o2=&o0=1&o7=&o5=&o1=1&o6=&o4=&o3=&h=' \
| html2text -ascii -nobs -style compact -width 500 | grep "*" | sed 's/^[^S]*S://' | grep -v "\*\*\*\* "

それは私が信じているすべてのフォーマットを削除します。線も削除し**** Noun ****ます。

于 2009-10-24T10:26:35.027 に答える
0

の意図はわかりませんgrep "*"が、次のように変更できます。

grep -Eo '\(.*'
于 2009-10-24T07:24:09.847 に答える