Le script

31 janvier 2012

 

La première phase du projet repose quasi-intégralement sur le script Bash (Bourne-Again shell) que mes collègues et moi-même avons appris à rédiger. C'est à cette étape qu'ai le plus appris, mais aussi là que j'ai eu le plus de défis à relever.

Voici la dernière version de mon script, celle que j'ai utilisé à la fin du projet :

LIRE DIRECTEMENT LE SCRIPT (format .txt)

TÉLÉCHARGER LE SCRIPT (format .sh inclus dans un fichier .zip)

Les principales commandes utilisées

Pour écrire le script, j'ai utilisé un certain nombre de commandes, dont certaines sont présentées sur le blog. Je résume ici les plus importantes :

sh : cette commande permet d'exécuter un script bash, dont on entre le chemin comme argument de la commande

cd : abréviation de "change directory" (changement de répertoire), cette commande permet de naviguer dans le système de fichiers, directement dans la console.

echo : cette commande permet d'afficher du texte en sortie (output), soit dans le Terminal, soit en écrivant ce texte dans un fichier (avec les opérateurs > ou >>)

mkdir : permet de créer des dossiers. Utile pour créer automatiquement l'arborescence de fichiers nécessaire au projet.

perl : permet d'exécuter un script perl, dont le chemin est à entrer en argument. Je m'en suis servi pour exécuter le programme "minigrep multilingue", fourni par Serge Fleury

lynx : lynx est un navigateur web en ligne de commande. Il permet d'afficher le texte brut des pages web et de le récupérer (dump) dans un fichier texte.

iconv : permet de convertir un fichier depuis un encodage connu jusqu'à un autre encodage connu.

file : utilisé avec l'option -i (type MIME), cette commande permet de détecter l'encodage d'un fichier. J'ai pu m'en servir pour déterminer si une page web est encodée en ASCII, en UTF-8 ou dans une table 8 bits, mais, dans le dernier cas, la commande n'a pas pu déterminer avec précision quelle table 8 bits était utilisée.

cat : permet d'afficher tout le contenu d'un fichier, ligne par ligne. On peut ainsi le renvoyer en output et vers un fichier texte ou un fichier HTML.

egrep : fonction qui permet de rechercher des motifs dans un texte. Egrep accepte les expressions régulières, et, couplée avec la fonction wc (word count), elle permet de compter le nombre d'occurrences du motif.