Signaler

Script permettant de modifier des fichier txt

Posez votre question renaudh 143Messages postés lundi 17 novembre 2003Date d'inscription 2 septembre 2016 Dernière intervention - Dernière réponse le 26 oct. 2013 à 20:03
Bonjour,

Je réalise un site en html tout encodé en bloc-notes, j'aimerais apporter une grosse modification niveau graphique mais pour cela, je dois changer chaque page et y apporter la même modification. Par exemple, changement de font:
<font face="elephant"> doit devenir <font face="arial">
et d'autres petits changements de ce genre.

Pour un dossier donné dans Windows, le script remplacerait la chaine de caractères données par une autre.

Ce script existe-t-il ou serait-il possible de le créer facilement en c ou autre langage?
Afficher la suite 
Utile
+1
moins plus
Salut,

Intéresses-toi plutôt à l'éditeur de ligne "sed" sous GNU/Linux (qui est porté sous Windows [http://gnuwin32.sourceforge.net/packages/sed.htm}, par contre je ne l'ai pas testé sous cette architecture).

Donc "sed" est un filtre orienté ligne, qui convient parfaitement à ce que tu veux faire.
Dans ton cas sa syntaxe est assez simple. Il suffit de substituer la chaîne du 1er motif par celle du second motif à l'aide de l'option "s" (substitute) et "g" (general) :
sed -i  's/chaîne 1/chaîne2/g'  fichier.html
Le paramètre "-i" sert à reécrire directement dans le fichier lu en entrée. Pour ce dernier point je ne sais pas si cette option est portée sous Windows (du moins pas d'après le tutorial en ligne). En fait tu as un exemple de donner là : http://sed.sourceforge.net/sedfaq4.html#s4.41.3

Voici un exemple de se que tu peux faire :
==>>Le fichier d'origine :
[jp@Mandrake tmpfs]$ cat exemple.html
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Listing 3.8 Utiliser l'instruction for</title>
</head>
<body>
        <font face="arial">

==>>La commande "sed"
[jp@Mandrake tmpfs]$ sed -i 's/<font face="arial">/<font face="elephant">/g' exemple.html

==>>Le résultat obtenu :
[jp@Mandrake tmpfs]$ cat exemple.html
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Listing 3.8 Utiliser l'instruction for</title>
</head>
<body>
        <font face="elephant">
[jp@Mandrake tmpfs]$
J'ai testé pour l'ensemble des fichiers dans un répertoire avec une boucle, et c'est nickel...
Ajouter un commentaire
Utile
+0
moins plus
En gros, je cherche un petit programme qui utiliserait la fonction "remplacer" du bloc-notes pour plusieurs fichiers txt, ça doit sûrement exister.
Ajouter un commentaire
Utile
+0
moins plus
G trouvé le programme "Super bloc-notes", g regardé dans l'aide mais pas trop compris comment ouvrir plusieurs fichiers en même temps, est-ce qqn connait ce prog et est-ce qu'il pourrait me servir dans ma requête?
Ajouter un commentaire
Utile
+0
moins plus
Sous unix, il y a un utilitaire qui s'appele grep qui fait ça... Sous Windows, il y a des adaptation de ce truc...

NoirDélire
Ajouter un commentaire
Utile
+0
moins plus
Si tu pouvais me donner des adaptations de ce truc, ça m'aiderait
Ajouter un commentaire
Utile
+0
moins plus
Vous embêtez pas dans le Bloc note par défaut Windows ->Edition ->Remplacer tu rempli les champs ->Replacer tout et c'est bon!
Le problème c'est qui faut que tu fasse tous les fichiers un par un...
Mais bon si ton site est light ça devrait aller!
Ajouter un commentaire

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !