French Bench: Write_words_french.sh

OK.  This is the French version.  It had to be done with the G8 summit, and visit from the new president.  We quietly celebrate a few recent milestones:

Travel privileges for Mr. Chen Guangcheng

Malawi promise of repeal of homosexuality ban

And note some recent reflections on development, aid, and poverty:

G8 summit

#!/bin/bash
# write_words_french.sh v.1.0 a program submitted by livedoggb on May 18/2012
# dependencies compiled random1.c, and intdiv2float.c and spanishtestnouns directory with a noun file called 01 french-nouns.txt
# itunes directory named musique française with songs that you want to use sequentially numbered 01 …, 02 …, 03 … etc.
# itunes directory named french highlit with audio tracks of the french quotes made by you named french-nouns01.avi, french-nouns33.avi, etc.
# with the number corresponding to the line number of the noun in the text file.
# It also outputs a file sommaire.out that has the statistics of your session.

function echo_in_color {
color=$( grep “^$correctquizfact:” $dir_txt_path/$fn*.txt | sed -e “s/^[0-9]*c: \(.*\) (\(.\)) ENG:.*/\2/” )
case “$color” in
“m”)
echo -e ‘\E[47;34m'”33[1m$echo_verb33[0m”
;;
“f”)
echo -e ‘\E[47;31m'”33[1m$echo_verb33[0m”
;;
“n”)#0CF82B
echo -e ‘\E[47;42m'”33[1m$echo_verb33[0m”
;;
esac
tput sgr0
return
}

clear

LANG=es_ES.UTF-8
language=”french”
dir_path=”/mnt/sdb1″
tvf=$( echo “$language”testnouns)
dir_txt_path=$( echo $dir_path/$tvf/ )
if [ -e $dir_path/sommaire.out ]
then
rm $dir_path/sommaire.out
fi
#rm $dir_path/hyper-tense-files_used.out
sum_fautes=0
echo “Attendez pour quelques minutes pour que le systeme arrange la base de donnee de musique.”
if [ -e $dir_path/hyper-tense-french-time2.out ]
then
echo “Le programme a trouvé un fichier de temps.”
echo “1. Utilisez ce fichier.”
echo “2. En faire un nouveau fichier. Choisissez 2 si vous avez changé la musique.”
echo “Choisissez:  (Sí vous n´êtes pas sûr, choisissez 2.  Le default c´est 2.)”

read choice
else
choice=2
fi
if [ -e $choice ]
then
choice=”2″
fi
case “$choice” in
1)
echo “On utilise le vieux fichier.”
;;
2)
echo “On construit un autre fichier.  Ça prendra quelques minutes.”
echo “0″ > $dir_path/hyper-tense-french-time2.out
mplayer -msglevel all=-1 -profile gnome-mplayer -ss 10 -endpos 1 -volume 0 /mnt/sda1/Documents\ and\ Settings/TEMP/My\ Documents/My\ Music/iTunes/iTunes\ Media/Music/musique\ française/*.* | tee temp.out | grep “^A: ” | sed -e ‘s/^A: .* of \([0-9]*\).* .*/\1/g’ >> $dir_path/hyper-tense-french-time2.out
;;
esac

time_array=($(cat $dir_path/hyper-tense-$language-time2.out))
i=1
num_files=$(expr $(grep -c . $dir_path/hyper-tense-$language-time2.out))

i=0
while [ $i -lt $num_files ]
do
echo “$i. ${time_array[$i]}”
i=$(( $i + 1 ))
done
num_files=$(( $num_files – 1 ))
echo “num_files=” $num_files
echo “Plusieurs options sont possibles.  Choisissez.”
echo “1.  Option Quiz (interactive).”
read choice
echo  “Avec parôles? Choisisez o ou n.  Default c´est non.”
read read_aloud
if [ -e $read_aloud ]
then
read_aloud=”n”
fi

case “$choice” in
2)
echo “Study/ housework mode.”
;;
1)
echo “Quiz mode.”
echo “Tout information derive de fichiers .txt dans le dossier frenchtestverb.”
c=””
right=0
asked=0
rightverbs=””
wrongverbs=””
average=0
verb_guess=””
num_vfiles=$(expr $(ls -1  $dir_txt_path/*.txt | grep -c . ))
hours_bgn=$( date| sed “s/.* \(..\):\(..\):\(..\).*/\1/”| sed “s/0\([0-9]\)/\1/” )
min_bgn=$( date| sed “s/.* \(..\):\(..\):\(..\).*/\2/”| sed “s/0\([0-9]\)/\1/” )
sec_bgn=$( date| sed “s/.* \(..\):\(..\):\(..\).*/\3/”| sed “s/0\([0-9]\)/\1/” )

while [ -e $c ]
do
random_verb_num=$( $dir_path/random1 1 $num_vfiles)
fn=$random_verb_num
echo “random_verb_num is:” $random_verb_num
verb=$(ls $dir_txt_path/$fn*.txt | sed “s/^.*$fn \(.*\).txt/\1/” )
if [ -e $dir_txt_path/$fn*.txt ]
then
maxlinenum=$( grep -c . $dir_txt_path/$fn*.txt)
maxlinenum=$(( $maxlinenum – 1 ))
quizfact=$( $dir_path/random1 1 $maxlinenum)
correctquizfact=$( echo “$quizfact”c)
omit_line=$( grep “^$correctquizfact:” $dir_txt_path/$fn*.txt)
#      echo “random quiz line is:” $quizfact $correctquizfact
if [ “$omit_line” != “” ]
then
noun=$( grep “^$correctquizfact:” $dir_txt_path/$fn*.txt | sed -e “s/^.*ENG:\(.*\) SENT:.*/\1/” )
echo “Le nom c´est: ” $noun  ”   . Random quiz line is:” $quizfact
testline=$( grep “^$correctquizfact:” $dir_txt_path/$fn*.txt | sed -e “s/^.*SENT:\(.*\) SENTCOMP:.*/\1/”)
echo $testline
verb_guess=””
asked=$(( $asked + 1 ))
while [ -e $verb_guess ]
do
echo “Donnez le nom correcte (mettez s pour en sortir):”
read verb_guess
echo $verb_guess
done
if [ “$verb_guess” == “s” ]
then
break
fi
echo_verb=$( grep “^$correctquizfact:” $dir_txt_path/$fn*.txt | sed -e “s/^[0-9]*c: \(.*\) (.) ENG:.*/\1/” )
if [ “$verb_guess” == “$echo_verb” ]
then
echo “Correcte.”

right=$(( $right + 1 ))
average=$(( $right/$asked ))
rightverbs=$( echo $rightverbs, $echo_verb)
num_mus=$( $dir_path/random1 1 $num_files )
num_mus_fixed=$(echo $num_mus | sed -e “s/^0//”)
prob_time=$(( ${time_array[$num_mus_fixed]} – 20 ))
ssx=($(expr $($dir_path/random1 0 $prob_time)))
mplayer -msglevel all=-1 -profile gnome-mplayer -ss $ssx -endpos 20 -volume 200 /mnt/sda1/Documents\ and\ Settings/TEMP/My\ Documents/My\ Music/iTunes/iTunes\ Media/Music/musique\ française/$num_mus*.*

else

echo -n “Non.  La reponse correcte, c´est: ”
echo_in_color
wrongverbs=$( echo $wrongverbs, $echo_verb )
fi

if [ $read_aloud == “o” ]
then
repeat=”o”
if [ -e /mnt/sda1/Documents\ and\ Settings/TEMP/My\ Documents/My\ Music/$language\ highlit/$verb$quizfact.* ]
then
while [ $repeat == “o” ]
do
mplayer -volume 80 /mnt/sda1/Documents\ and\ Settings/TEMP/My\ Documents/My\ Music/$language\ highlit/$verb$quizfact.*
echo “Ecrivez la phrase entendue sur du papier.  Repetez? (o ou n. default c´est non.)”
read repeat
if [ -e $repeat]
then
repeat=”n”
fi

done
echo
shighlit=$(grep “^$correctquizfact:” $dir_txt_path/$fn*.txt | sed -e “s/^.* SENTCOMP:\(.*\).*/\1/”)
echo $shighlit
echo
echo Comptez les fautes dans ce que vous aviez écrit. Un point pour châque mot.
echo Quel est le nombre de fautes?
read fault_number
if [ -e $fault_number ]
then
fault_number=0
fi
sum_faults=$(( $sum_faults + $fault_number ))
fi
fi
trans_sent=$(grep “^$correctquizfact:” $dir_txt_path/$fn*.txt | sed -e “s/^.*SENTCOMP:\(.*\)/\1/”)
#
echo
shighlit=$(grep “^$correctquizfact:” $dir_txt_path/$fn*.txt | sed -e “s/^.* SENTCOMP:\(.*\).*/\1/”)
echo $shighlit
echo
echo “Maintenant, finissez par lire à haute voie la ligne au-dessus.”
read
echo “numero de la ligne c´est:” $quizfact
#echo $testline | sed “s/.*(\(.*\)).*/\1/”
#echo $testline | sed “s/(.*)/$echo_verb/”
#echo $trans_sent
echo_in_color
aver_right=$( $dir_path/intdiv2float $right $asked | sed -e “s/\([0-9]*\…\).*/\1/” )
echo $right “/” $asked ” correcte.  Batting average:” $aver_right “Fautes de dictation: ” $sum_faults
echo “Attendez…je cherche une autre exemple…”
fi
fi
done
hours_end=$( date| sed “s/.* \(..\):\(..\):\(..\).*/\1/”| sed “s/0\([0-9]\)/\1/” )
min_end=$( date| sed “s/.* \(..\):\(..\):\(..\).*/\2/”| sed “s/0\([0-9]\)/\1/” )
sec_end=$( date| sed “s/.* \(..\):\(..\):\(..\).*/\3/”| sed “s/0\([0-9]\)/\1/” )
hours_diff=$(( $hours_end – $hours_bgn ))
min_diff=$(( $min_end – $min_bgn ))
sec_diff=$(( $sec_end – $sec_bgn ))
midnight=12
if [ $hours_diff -lt 0 ]
then
hours_diff=$(( $(( $midnight – $hours_bgn )) + $hours_end ))
# fix hour change if it happens at midnight or noon,
fi
time_of_ans=$(( $hours_diff * 60 + $min_diff ))
aver_time=$( $dir_path/intdiv2float $time_of_ans $((asked – 1)) | sed -e “s/\([0-9]*\…\).*/\1/” )
echo “Vous avez travailler ” $time_of_ans “minutes pour une moyenne de: ” $aver_time “minutes par question, et une somme de ” $(($asked – 1)) “questions.” | tee >>sommaire.out
echo “Les verbes correctes (” $right “):” $rightverbs  | tee >>sommaire.out
wrong=$(( $asked – $right – 1 ))
echo “Les verbes avec fautes (” $wrong “):” $wrongverbs | tee >>sommaire.out
num_entries=$(grep “^[0-9]*c:” $dir_txt_path/*.txt | grep -c .)
echo “La base de données avait ” $num_entries “données.” | tee >>sommaire.out
echo “Votre pourcentage est: ” $aver_right | tee >>sommaire.out
cat sommaire.out
;;
3)
echo “Mode 3”

;;
esac

———————————————————————————————–

01 french-nouns.txt

nouns
01c: la barbe (f) ENG: beard SENT: M. Darbedat se flattait rêveusement ___________.(Le Mur, p. 48 Sartre) SENTCOMP: M. Darbedat se flattait rêveusement la barbe.(Le Mur, p. 48 Sartre)
02c: un immeuble (m) ENG: building SENT: Ève habitait avec son mari au cinquième étage d’_____ (i) vieil _______, rue du Bac. (Le Mur, p. 49 Sartre) SENTCOMP: Ève habitait avec son mari au cinquième étage d’un (i) vieil immeuble, rue du Bac. (Le Mur, p. 49 Sartre)
03c: le mot (m) ENG: word SENT: … et ________ avait coulé hors de sa bouche, long et blanchâtre. (Le Mur, p. 76, Sartre) SENTCOMP: … et le mot avait coulé hors de sa bouche, long et blanchâtre. (Le Mur, p. 76, Sartre)
04c: la fois (f) ENG: time SENT: C´est ___ première _______ que ça lui arrive. (Le Mur, p. 76, Sartre) SENTCOMP: C´est la première fois que ça lui arrive. (Le Mur, p. 76, Sartre)
05c: un geste (m) ENG: gesture SENT: Pierre poussa un petit gémissement voluptueux, et sa main fit __________(i) léger. SENTCOMP: Pierre poussa un petit gémissement voluptueux, et sa main fit un geste léger. (Le Mur, p. 76, Sartre)
06c: un an (m) ENG: year SENT: Mais l´angoisse ne la quittait pas: _________ (i); un hiver, un printemps, un été, le début d’un autre automne. (Le Mur, p. 76, Sartre) SENTCOMP: Mais l´angoisse ne la quittait pas: un an; un hiver, un printemps, un été, le début d’un autre automne. (Le Mur, p. 76, Sartre)
07c: un hiver (m) ENG: winter SENT: Mais l´angoisse ne la quittait pas: un an; __________ (i), un printemps, un été, le début d’un autre automne. (Le Mur, p. 76, Sartre) SENTCOMP: Mais l´angoisse ne la quittait pas: un an; un hiver, un printemps, un été, le début d’un autre automne. (Le Mur, p. 76, Sartre)
08c: un printemps (m) ENG: spring SENT: Mais l´angoisse ne la quittait pas: un an; un hiver, __________ (i), un été, le début d’un autre automne. (Le Mur, p. 76, Sartre) SENTCOMP: Mais l´angoisse ne la quittait pas: un an; un hiver, un printemps, un été, le début d’un autre automne. (Le Mur, p. 76, Sartre)
09c: un été (m) ENG: summer SENT: Mais l´angoisse ne la quittait pas: un an; un hiver, un printemps, _________ (i), le début d’un autre automne. (Le Mur, p. 76, Sartre) SENTCOMP: Mais l´angoisse ne la quittait pas: un an; un hiver, un printemps, un été, le début d’un autre automne. (Le Mur, p. 76, Sartre)
10c: le debut (m) ENG: beginning SENT: Mais l´angoisse ne la quittait pas: un an; un hiver, un printemps, un été, __________ d’un autre automne. (Le Mur, p. 76, Sartre) SENTCOMP: Mais l´angoisse ne la quittait pas: un an; un hiver, un printemps, un été, le début d’un autre automne. (Le Mur, p. 76, Sartre)
11c: un automne (m) ENG: autumn SENT: Mais l´angoisse ne la quittait pas: un an; un hiver, un printemps, un été, le début d’____(i) autre __________. (Le Mur, p. 76, Sartre) SENTCOMP: Mais l´angoisse ne la quittait pas: un an; un hiver, un printemps, un été, le début d’un autre automne. (Le Mur, p. 76, Sartre)
12c: Un jour (m) ENG: day SENT: ___________ (i), ces traits se brouilleraient, il laisserait pendre sa mâchoire, il ouvrirait à demi des yeux larmoyants. (Le Mur, p. 76, Sartre) SENTCOMP: Un jour, ces traits se brouilleraient, il laisserait pendre sa mâchoire, il ouvrirait à demi des yeux larmoyants. (Le Mur, p. 76, Sartre)
13c: la main (f) ENG: hand SENT: Ève se pencha sur __________ de Pierre. (Le Mur, p. 76, Sartre) SENTCOMP: Ève se pencha sur la main de Pierre. (Le Mur, p. 76, Sartre)
14c: la tête (f) ENG: head SENT: Alain leva _________: au centre de la lune presque ronde, en haut des neuf étages, une petite ombre cornue de chat, penchée, attendait. (La Chatte p. 118, Colette). SENTCOMP: Alain leva la tête: au centre de la lune presque ronde, en haut des neuf étages, une petite ombre cornue de chat, penchée, attendait. (La Chatte p. 118, Colette).
15c: la lune (f) ENG: moon SENT: Alain leva la tête: au centre de _________ presque ronde, en haut des neuf étages, une petite ombre cornue de chat, penchée, attendait. (La Chatte p. 118, Colette). SENTCOMP: Alain leva la tête: au centre de la lune presque ronde, en haut des neuf étages, une petite ombre cornue de chat, penchée, attendait. (La Chatte p. 118, Colette).
16c: une ombre (f) ENG: shadow SENT: Alain leva la tête: au centre de la lune presque ronde, en haut des neuf étages, _____ (i) petite _______ cornue de chat, penchée, attendait. (La Chatte p. 118, Colette). SENTCOMP: Alain leva la tête: au centre de la lune presque ronde, en haut des neuf étages, une petite ombre cornue de chat, penchée, attendait. (La Chatte p. 118, Colette).
17c: le garage (m) ENG: garage SENT: “Je suis bien avancé”, pensait Alain en fermant ___________. (La Chatte p. 119, Colette). SENTCOMP: “Je suis bien avancé”, pensait Alain en fermant le garage. (La Chatte p. 119, Colette).
18c: la querelle (f) ENG: quarrel SENT: Dès le studio, Camille jeta loin d´elle son béret et ses gants, comme pour marquer qu´elle n´abandonnait pas __________. (La Chatte, p. 119, Colette) SENTCOMP: Dès le studio, Camille jeta loin d´elle son béret et ses gants, comme pour marquer qu´elle n´abandonnait pas la querelle. (La Chatte, p. 119, Colette)
19c: le studio (m) ENG: efficiency SENT: Dès _________ , Camille jeta loin d´elle son béret et ses gants, comme pour marquer qu´elle n´abandonnait pas la querelle. (La Chatte, p. 119, Colette) SENTCOMP: Dès le studio, Camille jeta loin d´elle son béret et ses gants, comme pour marquer qu´elle n´abandonnait pas la querelle. (La Chatte, p. 119, Colette)
20c: une nuit (f) ENG: night SENT: “Ou je mets les pouces en l´échange d´____________ tranquille – ou j´èteins, d´une bonne bourrade, le débat…(La Chatte, p. 119). SENTCOMP: “Ou je mets les pouces en l´échange d´une nuit tranquille – ou j´èteins, d´une bonne bourrade, le débat…(La Chatte, p. 119).
21c: le débat (f) ENG: debate SENT: “Ou je mets les pouces en l´échange d´une nuit tranquille – ou j´èteins, d´une bonne bourrade, __________…(La Chatte, p. 119). SENTCOMP: “Ou je mets les pouces en l´échange d´une nuit tranquille – ou j´èteins, d´une bonne bourrade, le débat…(La Chatte, p. 119).
22c: le volant (m) ENG: wheel SENT: – Je prends __________, dit Alain. (La Chatte, p. 117, Colette). SENTCOMP: – Je prends le volant, dit Alain. (La Chatte, p. 117, Colette).
23c: le manteau (m) ENG: coat SENT: Mets ____ vieux __________ qui est sous le coussain. (La Chatte, p. 117, Colette). SENTCOMP: Mets le vieux manteau qui est sous le coussain. (La Chatte, p. 117, Colette).
24c: le coussain (m) ENG: cushion SENT: Mets le vieux manteau qui est sous ____________. (La Chatte, p. 117, Colette). SENTCOMP: Mets le vieux manteau qui est sous le coussain. (La Chatte, p. 117, Colette).
25c: un chiffre (m) ENG: a number SENT: … qui remettaient au lendemain une reddition, un mot de passe, _____________. (La Chatte, p. 117, Colette). SENTCOMP: … qui remettaient au lendemain une reddition, un mot de passe, un chiffre. (La Chatte, p. 117, Colette20

Advertisements
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s