[PLUTO-help] Info sed!
Mariano Cunietti
mcunietti a enter.it
Ven 29 Ott 2004 14:41:58 CEST
> Domandina del giorno...
>
> $sed 's/uno/deu/g' xyz
>
> questo comando cambia tutte le parole "uno" in "due" del file "xyz"
> ma il problema che trovo è il seguente: la modifica effettuata non è
> permanete ossia ricevo in output il risultato desiderato ma solo su
> video, io vorrei cambiare tale stringa in modo che la modifica apportata
> in xyz sia permanente ed effettiva.
> Qualcuno mi può aiutare?
Ottima domanda, sono curioso di sentire anche io la risposta.
Il problema è scrivere su un file mentre lo stesso è aperto in lettura.
cat file1 | sed -e 's/uno/due/g' > file1 # ranza via tutto da file1
C'è un flag in sed('w') che consente di scrivere l'output anche su un file
sed -e 's/uno/due/gw file1' file1 # anche questo però ranza via tutto, INPUT=OUTPUT
La soluzione a cui ero arrivato io era una funzione che creava un file.tmp e poi lo rinominava, ma era ovviamente un workaround.
C'è qualcuno che ha una soluzione più elegante?
Ciau
Mariano
More information about the pluto-help
mailing list