#!/bin/bash
echo "Nom du tableau";
read tablo;
echo
"<html><head><title>tableau
de
liens</title></head><body><font
face=Arial><table border=0 border=0
bordercolor=black><tr><th>Wget</th><th>Lynx</th><th>Egrep</th></tr>"
> $tablo;
for sens in `ls wget`
do
mkdir ./dump/$sens;
mkdir ./egrep/$sens;
echo
"<tr><td
bgcolor="#DDDDDD"><b>$sens</b></td><td
bgcolor="#DDDDDD"></td><td
bgcolor="#DDDDDD"></td></tr>"
>> $tablo;
for fic in `ls
wget/$sens/*.htm*`
do
echo $fic;
lynx -dump $fic >
$fic.txt
mv $fic.txt ./dump/$sens/;
for fichier in `ls
dump/$sens/*.txt`
do
echo $fichier;
egrep -i 'barrage'
$fichier > $fichier.txt
mv $fichier.txt
./egrep/$sens/;
done
for
fichierdump in `ls dump/$sens/*.txt`
do
echo $fichierdump;
done
for
fichiereg in `ls egrep/$sens/*.txt`
do
echo $fichiereg;
done
echo
"<tr><td><font
size="2"><a
href="$fic">$fic</a></font></td><td><font
size="2"><a
href="$fichierdump">$fichierdump</a></font></td><td><font
size="2"><a
href="$fichiereg">$fichiereg</a></font></td></tr>"
>> $tablo;
done
done
echo
"</table></font></body></html>"
>> $tablo;
#!/bin/bash # Sur la console de Cygwin, nous demandons à l'utilisateur de choisir le nom du fichier de sortie en html (se sera un tableau). # La commande echo permet d'afficher sur la console Cygwin les informations contenues entre guillemets. read tablo; # Le
nom que l'utilisateur a tapé sera contenu dans une
variable nommée tablo. echo
"<html><head><title>tableau
de
liens</title></head><body><font
face=Arial><table border=0 border=0
bordercolor=black><tr><th>Wget</th><th>Lynx</th><th>Egrep</th></tr>"
> $tablo; # Dans
la variable $tablo
(qui contient le nom du tableau html), on imprime ces
balises html ainsi que # le texte en-dehors des balises html. Ces balises vont permettre la mise en page du fichier html. # La commande echo permet d'imprimer les informations contenues entre guillemets, ici, ces informations # sont dirigées dans la variable $tablo. for sens in `ls wget` # La commande ls
permet de lister le contenu d'un dossier, ainsi la commande ls
wget va lister le contenu du
dossier # wget que
contiendra la variable sens. La
variable sens aura comme valeur les différents noms des
# dossiers de wget (c.-à-d. les différents sens du mot "barrage"). # La boucle for...in permet d'appliquer à chaque sens contenu dans wget une série de commandes. # Pour chaque sens, mkdir ./dump/$sens; # on crée dans les répertoires dump et egrep des sous-dossiers dont le nom est contenu dans la variable $sens.echo
"<tr><td
bgcolor="#DDDDDD"><b>$sens</b></td><td
bgcolor="#DDDDDD"></td><td
bgcolor="#DDDDDD"></td></tr>"
>> $tablo;
# Dans
le fichier de sortie ($tablo), on imprime à
la suite les informations contenues entre guillemets.# La commande echo suivie des doubles chevrons indique que les informations entre guillemets vont être # redirigées dans une variable, ici $tablo et rajoutées à la suite les unes aux autres. for fic in `ls
wget/$sens/*.htm*` do # La commande ls
avec le paramètre wget/$sens/*.htm* permet de lister tous les fichiers ayant l'extension .html# ou .htm présents dans les dossiers $sens du répertoire wget. La variable fic aura # comme valeur cette liste. La boucle for...in va permettre l'application des commandes qui suivent à chaque # fichier listé ayant l'extension .html ou .htm. # Pour chaque fichier html ou htm, echo $fic; # on affiche sur la console la variable $fic qui contient l'adresse des
fichier texte contenu dans# le répertoire wget. lynx -dump $fic >
$fic.txt # La commande lynx
avec l'option -dump
va permettre de ne garder que le texte. Cette commande# est utilisée sur les fichiers html contenus dans la variable $fic et les enregistrent avec l'extension .txt # (texte seul). mv $fic.txt ./dump/$sens/;
# on déplace les fichiers texte contenant les résultats de lynx dans le répertoire dump et dans les# sous-dossiers $sens.
for fichier in `ls
dump/$sens/*.txt` do # La commande ls
avec le paramètre dump/$sens/*.txt
permet de lister tous les fichiers ayant l'extension .txt# présents dans les dossiers $sens qui sont contenus dans le répertoire dump. La variable fichier aura # comme valeur cette liste. La boucle for va permettre l'application des commandes qui suivent à chaque # fichier listé ayant l'extension .txt. # Pour chaque fichier texte,
echo $fichier; # on affiche sur la console la variable $fichier qui contient l'adresse des
fichier texte contenu dans# le répertoire dump.
egrep -i 'barrage'
$fichier > $fichier.txt # on applique la commande egrep avec l'option -i suivi du motif recherché et du fichier dans lequel # on cherche le motif. Le chevron fermant permet d'envoyer le résultat d'egrep dans un autre fichier # ayant l'extension .txt. mv $fichier.txt
./egrep/$sens/; # on déplace les fichiers texte contenant les résultats d'egrep dans le répertoire egrep et dans les# sous-dossiers $sens.
done
#
Fin de la boucle.
for
fichierdump in `ls dump/$sens/*.txt` do # La commande ls
avec le paramètre dump/$sens/*.txt
permet de lister tous les fichiers ayant l'extension .txt# présents dans les dossiers $sens qui sont contenus dans le répertoire dump. La variable fichierdump aura # comme valeur cette liste. La boucle for...in va permettre l'application des commandes qui suivent à chaque # fichier listé ayant l'extension .txt.
echo $fichierdump; # on affiche sur la console la variable $fichierdump qui contient l'adresse des
fichiers texte contenue dans# le répertoire dump. done #
Fin de la boucle.for
fichiereg in `ls egrep/$sens/*.txt` do # La commande ls
avec le paramètre egrep/$sens/*.txt
permet de lister tous les fichiers ayant l'extension .txt# présents dans les dossiers $sens qui sont contenus dans le répertoire egrep. La variable fichiereg aura # comme valeur cette liste. La boucle for...in va permettre l'application des commandes qui suivent à chaque # fichier listé ayant l'extension .txt.
echo $fichiereg; # on affiche sur la console la variable $fichiereg qui contient l'adresse des
fichiers texte contenue dans# le répertoire d'egrep.
done # Fin
de la boucle.
echo
"<tr><td><font
size="2"><a
href="$fic">$fic</a></font></td><td><font
size="2"><a
href="$fichierdump">$fichierdump</a></font></td><td><font
size="2"><a
href="$fichiereg">$fichiereg</a></font></td></tr>"
>> $tablo;
#
On imprime à la suite du fichier de sortie $tablo les
informations entre les guillemets.# La première colonne contient l'adresse de chaque fichier html présent dans la variable $fic avec le lien vers # cette même adresse. Dans la deuxième colonne, on inscrit l'adresse de chaque fichier texte contenu # dans la variable $fichierdump avec le lien vers cette même adresse. Et enfin, dans la troisième colonne, on # note l'adresse de chaque fichier texte contenu dans la variable $fichiereg avec le lien vers celle-ci.
done
# Fin
de la boucle.
done # Fin
de la boucle. #
On imprime à la suite dans le fichier de sortie les informations
entre guillemets.
|