[Linux-bruxelles] help, HTML

Jean-Marc jean--marc at belgacom.net
Mar 12 Avr 18:40:53 CEST 2005


Aldo wrote:

>Hello les spécialistes de sed, tr ou awk:
>
>j'essaye via  tr  ou  sed  de remplacer dans tous les fichiers d'un même
>répoertoire, 2 lignes de code HTML par les mêmes mais légèrement 
>modifiées. J'y arrive pas. Voici exactement ce dont il s'agit:
>
>La ligne
><DIV CLASS="navigation"><!--Navigation Panel-->
>par
><h3 class"xbgc"><DIV CLASS="navigation"><!--Navigation Panel-->
>
>et la ligne
><!--End of Navigation Panel-->
>par
></h3><!--End of Navigation Panel-->
>
>Je soupçonne que le problème vienne des nombreux ">" etc, qui combinés à 
>des guillemets doivent rendre sed ou tr dingues.
>
>Bref, le résultat est un output.html vide.
>
>Qui sait corriger ceci:
>
>tr '[<DIV CLASS="navigation"><!--Navigation Panel-->]' '<h3 class"xbgc"><DIV CLASS="navigation"><!--Navigation Panel-->' < $Idoc > $Odoc
>(où idoc = input.html et odoc = output.html, comme vous l'aurez 
>compris; mais faudrait que ce filtrage s'applique à tous des fichiers 
>html d'un même répoertoire).
>
>Aldo.
>
>
>  
>
D'abord, désolé pour le mail précédent mais le client WebMail de 
Belgacom.net est vraiment merdique.
Ensuite, je recopie ce que j'avais indiqué comme solution :
commande à utiliser :
sed 's/^<DIV CLASS="navigation"><!--Navigation Panel-->/<h3 
class"xbgc">&/' nom-du-fichier
et
sed 's/^<!--End of Navigation Panel-->/</h3>&/' nom-du-fichier

traitement de tous les fichiers d'un répertoire :
for FICHIER in $(nom-du-rep/*.html)
do
  sed ... $FICHIER > rep-de-resultat/$(basename $FICHIER)
done

ça te collera tous les fichiers dans un même répertoire que tu peux, par 
la suite, renommer.

Jean-Marc




Plus d'informations sur la liste de diffusion Linux-bruxelles