(Courriels de diversion: <recensons@mammifere-stigmatise.com> <tisserent@pieter-subreptice.com> <conjecturait@attenuerez-beneficiez.com> <enerve@heriterions-vanter.com> <souillures@empresserai-recueillirent.com> <inspecterent@negocies-lunaire.com> <decuver@fastueux-militaient.com> <resisteras@faconnier-exponentielles.com> <antagoniste@implorerent-consisteriez.com> <admissibilites@commotionne-appuyait.com> )


On Thu, Nov 6, 2008 at 18:43, jdd sur free <jdanield@free.fr> wrote:> Nicolas Figaro a écrit :
>> à mon humble avis, il sera plus simple de générer le fichier html
>> chaque jour avec la bonne date au format que tu veux.
>
> oui, ca je sais faire :-)
>
> mais, du coup, toute modification de la page implique de odifier les
> fichiers source. Si on utilise un script, il suffit de laisser une
> phrase type dans le fichier pour que ca marche
>
> jdd
>
> --
> Jean-Daniel Dodin
> Président du CULTe
> www.culte.org
>
> -----------------------------------------------------------------
> Les listes de diffusion du CULTe - Pour une informatique libre
> http://www.CULTe.org/listes/
> Pour se desabonner:
> mailto:linux-31-unsubscribe@CULTe.org?subject=Cliquez_sur_ENVOYER>
>

Soit un fichier html :
<html>
<head>
<title>fichier de date</title>
</head>
<body>
<h1>un titre idiot :</h1>
<p>
<!-- Attention a bien laisser la date sur une seule ligne -->
2008-11-06
</p>
<p>Ce fichier est mis a jour de manière auto</p>
</body>
</html>

Et un script

#!/bin/bash
#ecrit par MulX (http://www.mulx.net) le 6 novembre 2008

#metre ici le bon nom de fichier ;)
nomDuFicHTML="date.html"

dateDuFic=$( awk --posix
'/(^[[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}$)/' $nomDuFicHTML)
dateNew=$(date -I)
sed -e "s/^${dateDuFic}$/${dateNew}/" < "$nomDuFicHTML" > /tmp/dateTemp
mv /tmp/dateTemp "$nomDuFicHTML"


Remarque 1: Comme je n'ai pas eu envie de faire une regexp ultra
compliquer pour utiliser la sortie standard de date (Thu Nov  6
19:44:05 CET 2008) j'utilise la version courte de date a savoir
(2008-11-06) ce qui a mon avis est sufisant
Remarque 2: la date doit être seule sur une seule ligne
Remarque 3: Je ne sais pas ce qu'il se produit si il y a deux ligne de
date qui réponde à la même regexp dans le fichier (je pense que ça ne
fait rien)
Remarque 4: Je suis obligé de passer par un fichier temporaire, je ne
sais pas utiliser sed pour modifier directement le même fichier, quand
je fais ça il n'y a plus rien dans le fichier
Remarque 5: on peut probablement modifier la date directement a l'aide
d'awk mais ça risque de finir avec une ligne infernale :D

-- 
MulX, alias os2mule.
WWW : http://www.mulx.net
Jabber : mulx@jabber.ubuntu-fr.orgMail : os2mule@gmail.com