Le script en Bash

Les Commandes

Les commandes de bases

 

echo

la commande echo permet d'afficher un message dans la console.
Cette fonction permet aussi d'écrire dans un fichier :

    echo ... > nom_du_fichier
        écrit en haut du fichier

    echo ... >> nom_du_fichier
        écrit à la suite dans le fichier

 

read

la commande read permet de récupérer dans une variable ce que l'on tape sur la console.

 

if...then...else...fi

Il s'agit d'une commande de test, on va comparer 2 éléments de même type (2 nombres, 2 suites de caractères,...) en fonction du test (=,≠,>,...) on va exécuter soit les instructions contenues dans then, soit celle de else si la condition du test n'est pas remplie.

 

case...in...esac

Il s'agit aussi d'une fonction de testà choix multiples.
Elle s'emploie sous la forme :

case
$var in 
cas1) action1;;
cas2) action2;;
*) action3;;
esac

 selon si la chaîne contenue dans la variable $var est "cas1" ou "cas2", l'action 1 ou 2  sera executée. l'astérisque (*) sert à marquer le cas par défaut (si aucun autre cas  n'est valide).

for (...) {...}

La commande for sert à faire des boucles, c'est à dire à répéter les instructions entre les accolades tant que les conditions du test ne sont pas remplies.

    for ( kiwi=1 ; kiwi<=5 ; kiwi++) {...}

        la boucle va se répéter. À chaque fois, kiwi va être augmenté de 1 et ce jusqu'à ce que kiwi soit supérieur à 5 au quel cas, on sort de la boucle.

 

while[...]do...done

La commande while [...] do ... done est aussi une boucle, qui va répéter les instructions jusqu'à validation du test (entre les crochets).

 

expr substr $var x y

La commande expr substr $var x y va récupérer dans la variable $var, la chaîne de caractère qui commence à la place x et fini à la place y.

    var=bonjour

    test=expr substr $var 3 5

    echo "test"

        à l'écran, on va récupérer : "njo".

Cette commande est très pratique pour lire le début des lignes afin de savoir s'il s'agit d'une url, du sens ou de la langue.

Manque de chance, cette commande ne fonctionne pas avec toutes les versions de Cygwin. C'est pour cela que nous sommes passés à la programmation en Perl.

 

 

Les commandes de récupération Cygwin

 

wget url_web.html -O pages_locales.html

La commande wget url_web.html -O pages_locales.html va récupérer sur internet le contenu de la page et le sauvegarder dans le fichier pages_locales.html. C'est l'option -O qui permet de choisir l'emplacement de la sauvegarde (ici "pages_locales.html").

 

lynx -dump pages_locales.html > locales.txt

Lynx est un navigateur Internet qui a la particularité de foncionneren mode texte brut.
La commande lynx -dump pages_locales.html > locales.txt va récupérer sur la page enregistré en locale tout le texte (avec l'option -dump) et va l'écrire dans un fichier texte (ici "locales.txt") grâce à l'opérateur >.


egrep \" char | char-\" $dumpdest > $contdest

Cette fonction permet d'aller récupérer toutes les lignes d'un fichier texte qui contiennent un mot donné. Ici, l'opérateur OR (représenté par une barre verticale) nous permet de choisir toutes les lignes contenant le mot char ou un composé comprenant char suivi d'un tiret. L'utilisation pour des fichiers en langue anglaise inclut une liste de mots-clés (char ayant plus d'une traduction possible).

Ces lignes sont extraites de $dumpdest et stockées dans le fichier dont le chemin est contenu dans la variable $contdest.

nota :

cette commande ne sera en fait utilisée que dans la version Perl du script, le développement de la version Bash ayant été interrompu avant son implémentation.