(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