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.