COMMANDES

Cette page présente l'ensemble des commandes et des options qui ont été utilisées dans notre script. Il s'agit de :

Je ne vais pas présenter les balises HTML contenues dans le code du script.

#!/bin/bash

Appel de l'interpréteur bash. Le chemin absolu vers le programme est indiqué. Cette commande détermine le choix du programme pour la lecture, l'interprétation et l'exécution du script.

remonter

echo " "

Afficher la chaîne de caractères entre guillements sur la sortie standard - l'écran.

remonter

echo " " > fichier

Redirection du flux dans un fichier. Si le fichier du même nom existe déjà, il sera écrasé.

remonter

echo " " >> fichier

Redirection du flux dans un fichier. La chaîne de caractères entre quillements sera concaténée au contenu existant du fichier.

remonter

read variable

Lecture sur l'entrée standard - le clavier. La chaîne de caractères saisie est stockée en mémoire sous le nom de la variable.

remonter

mkdir répertoire

Make directory. Créer un répertoire X.

remonter

for file in `ls $rep` { ... }

Boucle for. La commande ls $rep affiche le contenu du répertoire sous la variable rep.

La commande for file in `ls $rep` { ... } attribue à chaque ligne du listing la variable file et exécute l'action entre les accolades.

remonter

compteur=$[$compteur + 1]

Compteur avec une incrémentation de 1 à chaque passage.

remonter

wget URL

wget est un outil pour enregistrer des données à partir du réseau via les protocoles HTTP, HTTPS et FTP. Voir la documentation.

Dans notre script, la commande wget avec ses options et ses arguments est :

wget --tries=1 -T 20 -o fichier -O fichier $url

Les options utilisées sont:

--tries=1
le nombre d'essais de connection sur un serveur. Ceci permet de limiter le temps d'exécution du script si il y a un problème de connection.

-T 20
le temps maximum en secondes consacré pour chaque connection. L'effet est le même que ci-dessus, c'est à dire limitatif du temps de connection en cas de problème.

-o fichier
créer un fichier pour stocker le rapport des actions de wget (logfile). Voir un exemple de ce logfile ici. La lecture de ce fichier est utile pour vérifier le succès de l'aspiration. Ce succès se manifeste par la présence de la chaîne saved. Si elle n'apparaît pas, wget n'a pas réussi à aspirer la page.

-O fichier
spécifier l'emplacement et le nom du fichier-sortie. La page aspirée par wget sera enregistrée sous le nom (le chemin) de fichier
remonter

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

test SI X ALORS Y SINON Z.

Cette structure est utilisée pour tester le succès de wget et pour éviter ainsi des enregistrements dans le tableau pointant vers des fichiers vides ou incomplets.

SI le logfile.txt contient la chaîne saved (la commande egrep "saved" logfile.txt renvoi la valeur 0), ALORS la suite des procédures est autorisée, SINON un message d'erreur est enregistré dans le tableau généré.

remonter

lynx -dump

lynx est un programme de consultation des pages web en mode texte (ligne de commande).

L'option -dump permet d'enregistrer le contenu textuel de la page dans un fichier texte stocké en local. Ce fichier ne contient pas de balisage HTML, cependant lynx untilise sa propre convention pour indiquer les liens, les menus, les images, des listes etc. Voir un exemple.

remonter

egrep motif fichier

egrep (autre versions grep et fgrep) est un outil qui cherche un motif (une expression régulière) dans les lignes du fichier indiqué en argument. Voir la documentation.

Dans notre script, la commande egrep avec ses options et ses arguments est :

egrep -v "^$" fichierIN | egrep -v "[\[|\]|/\\]" | egrep -v "http"| egrep -i -C 2 "barrage" >fichierOUT

Les options utilisées sont:

-v
seléction des lignes ne contenant pas le motif.

-i
ignorer la casse.

-C 2
ajouter le contexte à la sortie: 2 lignes avant et après la ligne contenant le motif.

Les motifs exclus par -v sont:

^$
enlever les lignes vides (les lignes ne comportant aucun caractère entre la marque du début de ligne ^ et la marque de fin de ligne $) dans le fichier dumpé pour qu'elles n'apparaissent pas dans le fichier contexte.


[\[\]/\\|]
enlever les lignes contenant les caractères énumérés entre les crochets [ ]. Le backslash \ despécialise les caractères réservés dans les expressions régulières (les crochets par exemple).

Cette expression définit donc les caractères : [ ] / \ |. Ceci permet d'enlever du fichier dumpé des listes, des menus etc. qui ne sont pas vraiment pertinantes pour être stockée dans le fichier contenant le contexte.
http
enlever les lignes contenant des URL.

Le motif recherché est barrage (indépendamment de la casse -i).

remonter