Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Script pour modifier un tas de fichiers? (sed??)

3 réponses
Avatar
robertito
Bonjour!

Je souhaiterais modifier un ensemble de fichiers html pour remodeller
rapidement un intranet.

Imaginons que j'ai x lignes de codes a changer par x autres sur chaque
fichier, comment puis-je faire?
J'ai pense a sed, mais un "s/ancien/nouveau" va pour un mot ou quelques
mots, pas pour 50 lignes.. (ou alors comment?)

Sinon, y aurait il un moyen plus appriorie?

Idealement j'aurais aime pouvoir via un script changer dans les fichiers
par exemple de "<a href=quelquechose" a "</body>"; remplacer ceci par
"nouveaucode".

Ca vous semble possible?
Des pistes?

Merci a tou-te-s!

Robert.


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

3 réponses

Avatar
Jacques L'helgoualc'h
a écrit, vendredi 17 mars 2006, à 10:26 :
Bonjour!



bonjour,

Je souhaiterais modifier un ensemble de fichiers html pour remodeller
rapidement un intranet.

Imaginons que j'ai x lignes de codes a changer par x autres sur chaque
fichier, comment puis-je faire?
J'ai pense a sed, mais un "s/ancien/nouveau" va pour un mot ou quelques
mots, pas pour 50 lignes.. (ou alors comment?)



Dès que la transformation s'étale sur plusieurs lignes, il faut passer
par le « hold space » (chercher h et H dans info sed).

Sinon, y aurait il un moyen plus appriorie?



Perl ? Pour les transformations « en place », on peut utiliser perl -pi
ou sed -i ; « -i.orig » est plus prudent...

Idealement j'aurais aime pouvoir via un script changer dans les fichiers
par exemple de "<a href=quelquechose" a "</body>"; remplacer ceci par
"nouveaucode".



Il y a quelque chose à préserver entre </body> et la fin du fichier ?

Ca vous semble possible?



sed -e '/<a href=quelquechose/,/</body>/s/ancien/nouveau/g'

... si ancien ne contient pas de saut de ligne.
--
Jacques L'helgoualc'h


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Jacques L'helgoualc'h
Jacques L'helgoualc'h a écrit, vendredi 17 mars 2006, à 13:41 :
[Sed]
Dès que la transformation s'étale sur plusieurs lignes, il faut passer
par le « hold space » (chercher h et H dans info sed).



Parfois n et N suffisent... cf. http://sed.sf.net/.
--
Jacques L'helgoualc'h


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
pmenier
Bonjour,

cette ligne devrait suffire :

sed -n -e 's/debut-chaine/,/fin-chaine/!p' fichier >
nouveau_fichierPatrick a écrit dans le message de
news:
Bonjour!

Je souhaiterais modifier un ensemble de fichiers html pour remodeller
rapidement un intranet.

Imaginons que j'ai x lignes de codes a changer par x autres sur chaque
fichier, comment puis-je faire?
J'ai pense a sed, mais un "s/ancien/nouveau" va pour un mot ou quelques
mots, pas pour 50 lignes.. (ou alors comment?)

Sinon, y aurait il un moyen plus appriorie?

Idealement j'aurais aime pouvoir via un script changer dans les fichiers
par exemple de "<a href=quelquechose" a "</body>"; remplacer ceci par
"nouveaucode".

Ca vous semble possible?
Des pistes?

Merci a tou-te-s!

Robert.


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact






--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact