答え1
この機能は(直接その答え、少しだけ修正しました):
verbteacher () {
wget -qO - http://conjugator.reverso.net/conjugation-english-verb-"$1".html | \
sed -n "/>Preterite\|>Past</{s@<[^>]*>@ @g;s/\s\+/ /g;/e I/s/.* I \([^ ]*\) you .*/Simple past: \1/;/ Past/s/ Past /Past participle: /;p}" ;
}
.bashrc
これは任意のファイルに入れることができます。新しいシェルが開始されました(現在のシェルセッションではありません)。
また、それをスクリプトに変換することもできます。
#!/bin/sh
wget -qO - http://conjugator.reverso.net/conjugation-english-verb-"$1".html | \
sed -n "/>Preterite\|>Past</{s@<[^>]*>@ @g;s/\s\+/ /g;/e I/s/.* I \([^ ]*\) you .*/Simple past: \1/;/ Past/s/ Past /Past participle: /;p}"
実行可能ファイルとして保存します$PATH
。
注:私はこのコードが実際に何をしているのかを詳しく見ていません。おそらくさらに改善されるかもしれません。この回答は、提供された機能の実際の使用に関するものです。
答え2
/conjugations/
屈折(リンクアドレスで希望の言語を選択した後、私の場合はフランス語を選択します)の値が必要な場合は、最後の行に/fra/
書きます.bashrc
。
conjfra () {
curl -s "http://api.ultralingua.com/api/2.0/conjugations/fra/$1" | jq -r '.[] | {tense: .conjugations}'
}
ありがとうございます!編集:私のせいです!申し訳ありません。 2行目の先頭にタブスペースを追加するのを忘れました。今は正しいです。
答え3
利用を処理するAPIが見つかりました。私はそれを照会するためにこの関数を作成しました。また、出力はやや冗長ですが、私より多くを知っている人がそれを単純化できるとjq
確信しています。jq
verbteacher () {
curl -s "http://api.ultralingua.com/api/conjugations/eng/$1" | jq '.[] | {tense: .partofspeech.tense, verb: .surfaceform}'
}
使用法:
$ verbteacher run
{
"tense": "infinitive",
"verb": "run"
}
{
"tense": "pastparticiple",
"verb": "run"
}
{
"tense": "presentparticiple",
"verb": "running"
}
{
"tense": "present",
"verb": "run"
}
{
"tense": "present",
"verb": "run"
}
{
"tense": "present",
"verb": "runs"
}
....