conjugaison-light

Obtenir les terminaisons des verbes français - retour accueil

git clone git://bebou.netlib.re/conjugaison-light
Log | Files | Refs | README |

cgi (1020B)


      1 #! /bin/sh
      2 
      3 colorate() {
      4 	sed "s/{/\x1b[92m/g; s/}/\x1b[0m/g"
      5 }
      6 
      7 tabulate() {
      8 	awk '/./ {
      9 		if (match($0,".*if") || $0=="Conditionnel" || $0=="Participe") {
     10 			mode = $0
     11 		} else if ($0=="Présent" || match($0,"Passé.*") || match($0,".*parfait.*") || match($0,"Futur.*")) {
     12 			temps = $0
     13 		} else {
     14 			valeur = $0
     15 		}
     16 		if (mode && temps && valeur) {
     17 			printf "%s\t%s\t%s\n",mode, temps, valeur
     18 		}
     19 		valeur = ""
     20 	}'
     21 }
     22 
     23 filter() {
     24 	grep -wi "$1" | grep -wi "$2" | grep -wi "$3"
     25 }
     26 
     27 bdd=/var/bddconjugaison
     28 
     29 if [ -z "$bdd" ];then
     30 <<. cat
     31 Première exec, ouvrir le script et donner une valeur à bdd juste au dessus. Sa
     32 valeur doit être le chemin absolu du dossier dans lequel seront stockés les
     33 fichiers
     34 .
     35 exit 1
     36 fi
     37 
     38 [ "$1" = "-c" ] && { color="true"; shift; }
     39 
     40 mot=${1:?"Il faut renseigner un mot"}
     41 
     42 mkdir -p "$bdd"
     43 
     44 if [ "$color" = "true" ];then
     45 	cat "$bdd/$mot" | tabulate | colorate | filter "$2" "$3" "$4" | column -ts '	'
     46 else
     47 	cat "$bdd/$mot" | tabulate | filter "$2" "$3" "$4" | column -ts '	' | tr -d '{}'
     48 fi