[limite HS]modifier un bloc de texte dans plusieurs fichiers
1 réponse
Aux Saveurs Gourmandes
Bonjours,
Je cherche le moyen pour remplacer un bloc de texte dans plusieurs
fichiers (le contenus d'un repertoire et de ses sous-rep en fait)
en gros : si le bloc de texte texte1.txt est trouvé dans le fichier le
remplacer par le bloc de texte texte2.txt .
En fait j'ai un tag surtout les fichiers d'un script en php et comme la
version a changé et l'url aussi je doit le modifier mais je compte pas
me taper la centaine de fichiers a la main.
Comment puis je faire ?
Guy
--
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
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
Jacques L'helgoualc'h
Aux Saveurs Gourmandes a écrit, samedi 22 janvier 2005, à 18:02 :
Bonjours,
bonjour.
Je cherche le moyen pour remplacer un bloc de texte dans plusieurs fichiers (le contenus d'un repertoire et de ses sous-rep en fait) en gros : si le bloc de texte texte1.txt est trouvé dans le fichier le remplacer par le bloc de texte texte2.txt .
Ce sont les blocs avant/après eux-mêmes, pas deux fichiers contenant ces blocs (multilignes ?) ?
En fait j'ai un tag surtout les fichiers d'un script en php et comme la version a changé et l'url aussi je doit le modifier mais je compte pas me taper la centaine de fichiers a la main.
Bon, c'est un peu trop pour le faire en interactif avec Emacs (ouvrir dans le répertoire principal, et appuyer sur Q ...).
Comment puis je faire ?
Cf. dans les archives de la liste fin novembre 2003, le fil de discussion "remplacement occurence dans plusieurs fichiers".
find cible/ -type f -name *.php | xargs sed -i 's,texte1,texte2,g'
(Sed version 4, -i.old pour avoir une sauvegarde, et pas de virgule dans le texte). -- 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
Aux Saveurs Gourmandes a écrit, samedi 22 janvier 2005, à 18:02 :
Bonjours,
bonjour.
Je cherche le moyen pour remplacer un bloc de texte dans plusieurs
fichiers (le contenus d'un repertoire et de ses sous-rep en fait)
en gros : si le bloc de texte texte1.txt est trouvé dans le fichier le
remplacer par le bloc de texte texte2.txt .
Ce sont les blocs avant/après eux-mêmes, pas deux fichiers contenant ces
blocs (multilignes ?) ?
En fait j'ai un tag surtout les fichiers d'un script en php et comme la
version a changé et l'url aussi je doit le modifier mais je compte pas
me taper la centaine de fichiers a la main.
Bon, c'est un peu trop pour le faire en interactif avec Emacs (ouvrir
dans le répertoire principal, et appuyer sur Q ...).
Comment puis je faire ?
Cf. dans les archives de la liste fin novembre 2003, le fil de
discussion "remplacement occurence dans plusieurs fichiers".
find cible/ -type f -name *.php | xargs sed -i 's,texte1,texte2,g'
(Sed version 4, -i.old pour avoir une sauvegarde, et pas de virgule dans
le texte).
--
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 debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Aux Saveurs Gourmandes a écrit, samedi 22 janvier 2005, à 18:02 :
Bonjours,
bonjour.
Je cherche le moyen pour remplacer un bloc de texte dans plusieurs fichiers (le contenus d'un repertoire et de ses sous-rep en fait) en gros : si le bloc de texte texte1.txt est trouvé dans le fichier le remplacer par le bloc de texte texte2.txt .
Ce sont les blocs avant/après eux-mêmes, pas deux fichiers contenant ces blocs (multilignes ?) ?
En fait j'ai un tag surtout les fichiers d'un script en php et comme la version a changé et l'url aussi je doit le modifier mais je compte pas me taper la centaine de fichiers a la main.
Bon, c'est un peu trop pour le faire en interactif avec Emacs (ouvrir dans le répertoire principal, et appuyer sur Q ...).
Comment puis je faire ?
Cf. dans les archives de la liste fin novembre 2003, le fil de discussion "remplacement occurence dans plusieurs fichiers".
find cible/ -type f -name *.php | xargs sed -i 's,texte1,texte2,g'
(Sed version 4, -i.old pour avoir une sauvegarde, et pas de virgule dans le texte). -- 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