Signaler

Script permettant de modifier des fichier txt [Fermé]

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 par Emerick_H
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?
Utile
+1
plus moins
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...
Cette réponse vous a-t-elle aidé ?  
Utile
+0
plus moins
En gros, je cherche un petit programme qui utiliserait la fonction "remplacer" du bloc-notes pour plusieurs fichiers txt, ça doit sûrement exister.
Utile
+0
plus moins
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?
Utile
+0
plus moins
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
Utile
+0
plus moins
Si tu pouvais me donner des adaptations de ce truc, ça m'aiderait
Utile
+0
plus moins
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!

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 !