Rechercher : dans
Par :

Script permettant de modifier des fichier txt

Dernière réponse le 16 avr 2005 à 15:19:47 renaudh, le 15 avr 2005 à 21:54:45 
 Signaler ce message aux modérateurs

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?

Meilleures réponses pour « Script permettant de modifier des fichier txt » dans :
Fichier TXT Voir Format TXT Un fichier TXT est un fichier texte, c'est-à-dire un simple fichier contenant du texte au format ASCII. Pour ouvrir ou modifier un tel fichier, il suffit d'utiliser le bloc-notes ou un éditeur de texte traditionnel.
[MS-Dos] Ecrire dans un fichier texte en batch VoirPour écrire dans un fichier texte, il suffit d'utiliser une redirection ">" : echo texte_à_ecrire > fichier_de_sortie.txt Pour écrire à la fin d'un texte existant (concaténation) : echo "écriture a la fin du fichier ">>...
Sed - Substitution VoirSubstitution Substitution basique Simple Globale Ciblée Substitution conditionnée Simplee Avancée Bloc Avancéé Substitution basique Simple - 1ère occurrence (de chaque ligne) rencontrée uniquement sed 's/la/LA/' fichier.txt

1

renaudh, le 16 avr 2005 à 09:47:06

En gros, je cherche un petit programme qui utiliserait la fonction "remplacer" du bloc-notes pour plusieurs fichiers txt, ça doit sûrement exister.

Répondre à renaudh

2

renaudh, le 16 avr 2005 à 12:10:58

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?

Répondre à renaudh

3

NoirDelire, le 16 avr 2005 à 12:13:58

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

Répondre à NoirDelire

4

renaudh, le 16 avr 2005 à 13:56:34

Si tu pouvais me donner des adaptations de ce truc, ça m'aiderait

Répondre à renaudh

5

 jipicy, le 16 avr 2005 à 15:19:47

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...
Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé. 

Répondre à jipicy