On Sun, Jun 08, 2003 at 11:53:49AM +0200, jean-michel OLTRA wrote:
> Le dimanche 08 juin 2003, Loick.B a �crit...
>       bonjour,
> 
> 
> > "sed -e s/avant/apres/ tonfichier > tonfichiers.new"
>  sed -e s/avant/apres/ tonfichier > tampon; tampon > tonfichier; rm -f tampon
                                            ^^^
                                            cat

>  Sinon l'id�e vim est tr�s bonne.

vim fichier -c "%s/avant/apres/g" -c ":wq"


En fait, il faudrait �crire une commande Unix qui:
- lise stdin jusqu'� la fin
- ensuite seulement, �crive tout sur stdout.

On pourrait l'appeler sbuf (stream buffer), et �a
permettrait de faire:

cat fichier | sed "s/avant/apres/" | sbuf > fichier

Peut-�tre qu'une telle command existe d�j�, mais personne ne
le connait? (Pas � mon avis, vu que la commande implique que
la totalit� du fichier va devoir �tre stock� en RAM, ce qui
va � l'encontre des principes originaux d'Unix...
Incidement, �crire dans un nouveau fichier puis le renommer
est sans doute plus efficace que cette solution pour tout
stream de taille importante).

/Y
 
-- 
Marbles should be kept together.

Répondre à