Correction du script de création tableau :

On corrige le script qui sert à créer le tableau avec un numéro en face de chaque urls.

comment éviter d’avoir à écrire à chaque fois l’exécution du script.

Redirection entrante pour éviter d’écrire à chaque fois le nom de fichier entrant et le nom de fichier de sortie. On va mettre en place une astuce pour permettre au script d’aller directement récupérer les informations sasns que l’utilisateur n’ait à entrer les noms de fichiers.

On écrit de manière définitive dans un fichier les valeurs des entrées et sorties qu’on veut générer :

./URLS/url-biocarburant-fr.txt

./TABLEAUX/tableau-urls-fr-kh.html

que l’on nomme input.txt

On modifie le script fait tableau en supprimant les deux lignes echo :

read fic;

read tablo;

echo « Le nom du fichier html ou stocker ces liens $tablo »;

Lorsqu’on exécute le fichier on le fait suivre du nom du fichier de stockage. La première ligne du script ‘read fic’ va lire le nom du fichier stockage :

sh fait-tableau-version1-input.sh   <  sh input.txt

=> redirection de flux.

Point HTML : pour faire une liste entrer la balise <ol> et pour numéroter les ligne on utilise la balise <li> pour avoir des points, on utilise la balise <ul>

On peut peut pas utiliser ce codage pour numéroter les lignes d’urls.

On utilise un code qui compte les lignes grâce à une variable. Première ligne i=1 et ajouter 1 à chaque fois qu’on passe une ligne.Puis on affiche la valeur du compteur au moment ou j’écris la ligne.

echo « <tr><td>$i>/td></tr>>td>tr>$nom</tr></td>

Puis il faut incrémenter c’est à dire ajouter 1 à i pour chaque ligne.  i=i+1

<=>i+=1  : incrémentation et assignation à la fois.

let »i+=1 »

ou i=` expr $i+1`;

Point HTML :

<td><a href= »http.//lien.com »> url1</a></td>

Pour notre script, on veut tous les liens soient clicables.

On écrit  echo « <tr><td>$i</td></tr><td><tr><a href=\ »$nom\ »>$nom</a></tr></td>

\ »$nom\ » : affiche la valeur de $nom, donc l’url.

Comment traiter du même coup les deux fichiers d’urls ?

Dans la boucle en input  on va écrire read rep puisqu’il ne s’agit plus d’un fichier mais d’un répertoire de fichiers.

On change le fichier input :

./URLS

../TABLEAUX/tableau-urls-fr-kh.html

en écrivant read rep;

onveut dire au programme : pour chacun des fichiers de rep on veut que la boucle soit lue.

=> à ce stade tout est écrit dans un seul tableau donc on doit ajouter :

read tablo;

echo « <html><body> » >$tablo;

=>on aura autant de tableau que de fichiers.

On remet une boucle for fic in ‘ls $rep` => ls liste le contenu du répertoire.

Dans cette boucle for, on va pouvoir traiter 1 fichier

echo « <tableau> »>>$tablo;

cat : il faut reconstruire le chemin du fichier que l’on veut traiter. par rapport à l’endroit où l’on se trouve. pour accéder au fichier que l’on veut traiter c’est $rep et pour traiter le fichier c’est $fic

`cat  $rep/$fic`

Si on n’indique pas le chemin, le terminal va afficher Error : aucun fichier de ce nom, car on ne lui aura pas indiqué le bon chemin.