答案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
文件中,该文件可以为任何新的shell 已启动(不是当前 shell 会话)。
您还可以将其转换为脚本:
#!/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/
您可以选择所需的语言之后,在我的例子中我选择了 french /fra/
)值,请将其写在最后一行.bashrc
:
conjfra () {
curl -s "http://api.ultralingua.com/api/2.0/conjugations/fra/$1" | jq -r '.[] | {tense: .conjugations}'
}
谢谢!编辑:我的错!抱歉,我忘记在第二行添加制表符空格开始,现在是正确的。
答案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"
}
....