Obtenir les terminaisons des verbes français - retour accueil
git clone git://bebou.netlib.re/conjugaison-light
Log | Files | Refs | README |
commit c0832ec6e09234b74f84955ad992b41410cb7a62 Auterice: arthur <arthur.pons@unistra.fr> Date: Thu, 3 Nov 2022 22:54:57 +0100 Premier commit Trois scripts pour faire quelque chose comme ./verbe courir | ./tabulate | ./filter indicatif présent ils Diffstat:
A | README | | | 17 | +++++++++++++++++ |
A | filter | | | 3 | +++ |
A | tabulate | | | 15 | +++++++++++++++ |
A | verbe | | | 17 | +++++++++++++++++ |
4 files changed, 52 insertions(+), 0 deletions(-)
diff --git a/README b/README @@ -0,0 +1,17 @@ +Pour trouver rapidement la terminaison d'un verbe + +verbe prend un verbe en argument et va chercher les données sur +conjugaisonfrançaise.com +Le script est assez velu, devrait y avoir moyen de le simplifier +Peut-être tout faire en awk ? + +tabulate est un script awk qui met toutes les données au format +mode temps conjugaison +Cela fait beaucoup de données redondantes mais c'est utile pour... + +filter qui est un script qui prend jusqu'à trois arguments +L'idée est de pouvoir par exemple renseigner "conditionnel passé tu" et avoir +la seconde personne du singulier au conditionnel passé du verbe obtenu avec le +script verbe + +Est-ce qu'il existe une base hors ligne ? diff --git a/filter b/filter @@ -0,0 +1,3 @@ +#! /bin/sh + +grep -i "$1" | grep -i "$2" | grep -i "$3" diff --git a/tabulate b/tabulate @@ -0,0 +1,15 @@ +#! /bin/awk -f + +/./ { + if (match($0,".*if") || $0=="Conditionnel") { + mode = $0 + } else if ($0=="Présent" || match($0,"Passé.*") || match($0,".*parfait.*") || match($0,"Futur.*")) { + temps = $0 + } else { + valeur = $0 + } + if (mode && temps && valeur) { + printf "%s\t%s\t%s\n",mode, temps, valeur + } + valeur = "" +} diff --git a/verbe b/verbe @@ -0,0 +1,17 @@ +#! /bin/sh + +curl -Ls -A "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:106.0) Gecko/20100101 Firefox/106.0" https://www.conjugaisonfrancaise.com/$1.html | +sed -En '/panel panel\-default"/,$ p' | +sed -E '/Options du moteur de conjugaison/,$ d' | +sed "s/<b>/$(tput setaf 1)&/g" | +sed "s/<\/b>/&$(tput sgr0)/g" | +sed -E 's/<[^>]*>//g' | +tr -s ' ' | +sed 's/ //g' | +sed -E 's/ /\n/g' | +sed -E 's/^[[:blank:]]+//' | +grep -v '^$' | +grep -v "=" | +sed -E 's/(Présent|.*parfait.*|Passé.*|Futur.*)/\n\1\n/' | +sed -E 's/(Indicatif|Subjonctif|Impératif|Conditionnel|Infinitif|Gérondif|Participe)/\n\1/' | +sed -E 's/^([a-z])/\u\1/'