pluriTAL – BLOG Master pluriTAL [ParisX, ParisIII, INALCO]

AB : Amélioration du script fait-tableau-v1.sh

Posted in Projet 2006-2007 by pluritaluser on 8 novembre 2006

Je vais maintenant créer un tableau en format html, contenant les listes d’URL.

A partir du petit programme fait-tableau-v1.sh fourni par les professeurs, je cherche à améliorer le script des façons suivantes :

1) création de liens « cliquables » vers les pages Web correspondantes à mes URL :

j’utilise la balise <A href=www.page_web.html>…</A> :

<A href= »$nom »>$nom</A>

 

2) séparation de la colonne contenant les URL et de celle contenant les liens aux pages Web correspondantes :

j’introduis la balise de lien après la balise de la première colonne :

<tr><td>$nom</td><td><A href= »$nom »>$nom</A></td></tr>

et je donne un titre à chaque colonne par le biais de la balise TH, juste après le code de début de tableau :

<table border=1><TH>Liste URL</TH><TH>Liens vers la page WEB</TH>

(Le script ainsi modifié s’appelle MY_fait_tableau1.sh)

3) possibilité de créer et enchaîner automatiquement plusieurs tableaux relatifs à différents fichiers .txt contenant chacun une liste d’URL où apparaît un des sens du mot barrage :

Pour l’instant je ne sais travailler que sur un nombre limité de fichiers (deux,

dans ce cas). Je fais suivre la commande de lecture de 2 noms de variables :

read fic1 fic2

et j’écris deux blocs d’instructions semblables, un pour $fic1 et une pour $fic2.

NB : attention à ne par répéter deux fois le code de fin de fichier </html> et à mettre toujours deux signes >> devant $tablo quand on modifie ce fichier, sinon le premier tableau sera écrase par le deuxième.

4) affichage, avant chaque tableau, d’un titre explicitant le sens du mot barrage concerné:

J’utilise la balise de grande taille h2 avec attribut de centrage et la balise de mise en gras strong:

<h2 align=center><strong>Barrage_$fic1</strong></h2>

5) création d’une troisième colonne contenant les liens aux pages aspirées (avec wget).

Problème : comment utiliser, dans la même boucle, deux variables provenant de deux fichiers différents ? Faut-il modifier le résultat de la boucle après son exécution pour insérer une troisième colonne ? Je ne trouve pas de solution pour l’instant.

 

Mon nouveau script amélioré s’appelle MY_fait_tableau2.sh. Voici le texte complet :

#!/bin/bash

echo « donne les noms de fichier contenant les liens http »; #ce sont les listes des pages wgettées

read fic1 fic2; #le programme connait les fichiers de liens sous les noms $fic1 et $fic2

echo « donne nom de fichier html où stocker ces liens »; #c’est le tableau de liens à créer

read tablo; #enregistre nom donné par utilisateur dans la variable $tablo

echo « <html><head><title>tableau de liens</title></head><body><h2 align=center><strong>Barrage_$fic1</strong></h2><table border=1><TH>Liste URL</TH><TH>Liens vers la page WEB</TH> » > $tablo; #code de début de tableau

for nom in `cat $fic1` #$nom est la variable dans laquelle sera stocké chaque lien

{

echo « <tr><td>$nom</td><td><A href= »$nom »>$nom</A></td></tr> » >> $tablo; #création d’un tableau à deux colonnes et autant de lignes qu’il y a d’URL avec lien vers la page correspondante

}

echo « </table> » >> $tablo; #code de fin de tableau

echo « <h2 align=center><strong>Barrage_$fic2</strong></h2><table border=1><TH>Liste URL</TH><TH>Liens vers la page WEB</TH> » >> $tablo; #code de début de tableau

for nom in `cat $fic2` #$nom est la variable dans laquelle sera stocké chaque lien

{

echo « <tr><td>$nom</td><td><A href= »$nom »>$nom</A></td></tr> » >> $tablo; #création d’un tableau à deux colonnes et autant de lignes qu’il y a d’URL avec lien vers la page correspondante

}

echo « </table></body></html> » >> $tablo; #code de fin de tableau et code de fin document html

#le fichier dont le nom correspond à la variable tablo est maintenant créé, ouvrez-le

 

Arianna Bisazza

Publicités

Une Réponse

Subscribe to comments with RSS.

  1. tal-p3 said, on 9 novembre 2006 at 10:05

    Arianna bonjour

    Tout comme pour le post suivant d’Ivan, j’ai inséré une balise blockquote dans votre post pour « isoler » le texte du programme complet du texte du post.

    SF


Laisser un commentaire

Choisissez une méthode de connexion pour poster votre commentaire:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :