Procurando por um exemplo solução bash para verificar a conjugação de verbos em inglês

0

Olá, tenho interesse em uma solução publicada aqui & coloque a função sugerida em bash script deixando a ~/.bin , então, dir sob path . Em seguida, executou $chmod +x verbteacher.sh para facilitar a chamada de $ em qualquer lugar na linha de comando, mas não funciona. Eu tentei, tipo, reabrir a questão & tentei também a sugestão de seguir a resposta acima mencionada, tipo de perto & colocando a função no arquivo .bashrc , mas ainda não funciona para mim (& parece que não é o melhor (prática (me desculpe))) então apenas por este meio pedindo mais ajuda. Eu apreciaria isso.

    
por RS. Montalvo 06.04.2018 / 22:18

2 respostas

1

A função (diretamente de essa resposta , com apenas pequenas modificações):

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: /;/ Past/s/ Past /Past participle: /;p}" ; 
 }

Isso pode ser colocado em seu arquivo .bashrc , que o definiria para qualquer shell novo iniciado (não a sessão atual do shell).

Você também pode transformá-lo em um script:

#!/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: /;/ Past/s/ Past /Past participle: /;p}" 

Isso deve ser salvo em um arquivo que você torne executável e coloque em algum lugar em um diretório que esteja no seu $PATH .

Nota: não olhei com atenção para o que esse código realmente faz. Pode ser melhorado ainda mais. Esta resposta é sobre o problema de usar apenas a função fornecida.

    
por 06.04.2018 / 22:24
0

Eu encontrei uma API que lida com conjugações. Eu criei esta função que irá consultá-lo, mas requer jq . Também a saída é bastante detalhada, mas tenho certeza que ela pode ser reduzida por alguém que saiba jq melhor que eu:

verbteacher () {
    curl -s "http://api.ultralingua.com/api/conjugations/eng/$1" | jq '.[] | {tense: .partofspeech.tense, verb: .surfaceform}'
}

Uso:

$ 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"
}
....
    
por 07.04.2018 / 00:53