j'ai un fichier "modele.html" dans lequel j'ai des chaines de
caractères CHAINE1 CHAINE2 etc... que je voudrais remplacer par des
chaines diverses contenues dans un fichier csv
exemple :
modele.txt est
Je m'appelle CHAINE1 et j'aime CHAINE2
dans le csv j'ai
toto;les fraises;fichier1.html
gudule;Maman;fichier2.html
le but est d'avoir :
fichier1.html avec "Je m'appelle toto et j'aime les fraises"
etc...
sauf que j'ai plusieurs centaines de fichiers et pour chaque 25 chaines
à remplacer
Quelle est la façon la plus simple de scripter ça ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
David LE BOURGEOIS
bonjour,
Bonjour.
j'ai un fichier "modele.html" dans lequel j'ai des chaines de caractères CHAINE1 CHAINE2 etc... que je voudrais remplacer par des chaines diverses contenues dans un fichier csv
exemple :
modele.txt est Je m'appelle CHAINE1 et j'aime CHAINE2
dans le csv j'ai toto;les fraises;fichier1.html gudule;Maman;fichier2.html
le but est d'avoir : fichier1.html avec "Je m'appelle toto et j'aime les fraises" etc...
sauf que j'ai plusieurs centaines de fichiers et pour chaque 25 chaines à remplacer
Quelle est la façon la plus simple de scripter ça ?
En perl ?
$ cat rp #!/usr/bin/perl -wn
if (/^([^;]+);([^;]*);([^;]+)$/) { my ($search, $replace, $file) = ($1, $2, $3); open FIC, $file or die; foreach (<FIC>) { s/$search/$replace/g; print; } close FIC; }
$ cat csv foo;bar;a Bonjour;Bonsoir;b $ cat a Bonsoir, foo. $ cat b Bonjour, bar. $ ./rp csv Bonsoir, bar. Bonsoir, bar.
(le $ représente le prompt du shell)
Merci d'avance
De rien
Christian
-- David LE BOURGEOIS
RÉVOLTÉ
P : Ça n'a pas l'air d'aller... M : Nan, ça va pas ! J'ai lu un texte de BHL et un texte de Glucksmann sur la guerre au Kosovo ! P : Qu'est-ce que tu veux... tu as été victime de dommages collatéraux...
bonjour,
Bonjour.
j'ai un fichier "modele.html" dans lequel j'ai des chaines de caractères
CHAINE1 CHAINE2 etc... que je voudrais remplacer par des chaines
diverses contenues dans un fichier csv
exemple :
modele.txt est
Je m'appelle CHAINE1 et j'aime CHAINE2
dans le csv j'ai
toto;les fraises;fichier1.html
gudule;Maman;fichier2.html
le but est d'avoir :
fichier1.html avec "Je m'appelle toto et j'aime les fraises"
etc...
sauf que j'ai plusieurs centaines de fichiers et pour chaque 25 chaines
à remplacer
Quelle est la façon la plus simple de scripter ça ?
En perl ?
$ cat rp
#!/usr/bin/perl -wn
if (/^([^;]+);([^;]*);([^;]+)$/) {
my ($search, $replace, $file) = ($1, $2, $3);
open FIC, $file or die;
foreach (<FIC>) {
s/$search/$replace/g;
print;
}
close FIC;
}
$ cat csv
foo;bar;a
Bonjour;Bonsoir;b
$ cat a
Bonsoir, foo.
$ cat b
Bonjour, bar.
$ ./rp csv
Bonsoir, bar.
Bonsoir, bar.
(le $ représente le prompt du shell)
Merci d'avance
De rien
Christian
--
David LE BOURGEOIS
RÉVOLTÉ
P : Ça n'a pas l'air d'aller...
M : Nan, ça va pas ! J'ai lu un texte de BHL et un texte de Glucksmann
sur la guerre au Kosovo !
P : Qu'est-ce que tu veux... tu as été victime de dommages collatéraux...
j'ai un fichier "modele.html" dans lequel j'ai des chaines de caractères CHAINE1 CHAINE2 etc... que je voudrais remplacer par des chaines diverses contenues dans un fichier csv
exemple :
modele.txt est Je m'appelle CHAINE1 et j'aime CHAINE2
dans le csv j'ai toto;les fraises;fichier1.html gudule;Maman;fichier2.html
le but est d'avoir : fichier1.html avec "Je m'appelle toto et j'aime les fraises" etc...
sauf que j'ai plusieurs centaines de fichiers et pour chaque 25 chaines à remplacer
Quelle est la façon la plus simple de scripter ça ?
En perl ?
$ cat rp #!/usr/bin/perl -wn
if (/^([^;]+);([^;]*);([^;]+)$/) { my ($search, $replace, $file) = ($1, $2, $3); open FIC, $file or die; foreach (<FIC>) { s/$search/$replace/g; print; } close FIC; }
$ cat csv foo;bar;a Bonjour;Bonsoir;b $ cat a Bonsoir, foo. $ cat b Bonjour, bar. $ ./rp csv Bonsoir, bar. Bonsoir, bar.
(le $ représente le prompt du shell)
Merci d'avance
De rien
Christian
-- David LE BOURGEOIS
RÉVOLTÉ
P : Ça n'a pas l'air d'aller... M : Nan, ça va pas ! J'ai lu un texte de BHL et un texte de Glucksmann sur la guerre au Kosovo ! P : Qu'est-ce que tu veux... tu as été victime de dommages collatéraux...