[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Substitution par 'sed' une seule fois dans un fichier...



David BERCOT a écrit, dimanche 24 février 2008, à 17:10 :
> Bonjour,

bonsoir,

> J'ai un petit problème avec 'sed'. Je souhaite effectuer le
> remplacement d'une expression par une autre, mais uniquement une seule
> fois dans un fichier.
> Or, si je fais 'sed s/expr1/expr2/ monfichier', si expr1 est présent
> plusieurs fois, elle sera remplacée à chaque fois.
> Les recherches que j'ai effectuées ne parlent que du nombre de
> substitutions (1, toutes, la dernière, etc...) sur une ligne, et pas
> sur un fichier...
> 
> Auriez-vous une piste ?

~ $ echo 'toto
> ]titi
> ]toto
> ]tata' > fic
~ $  sed -e '/toto/{s//Glop/;:A;N;bA}' <fic
Glop
titi
toto
tata

Variantes :

 sed -e ':A;N;$!bA;s/toto/Glop/' <fic
 sed -ne 'H;${g;s/^\n//;s/toto/Glop/;p}' <fic

> Merci d'avance.

Hop zat elpse
-- 
Jacques L'helgoualc'h


Reply to: