al final lo he hecho con: #!/bin/bash for fichero in * do echo $fichero sed 's/foo/bar/g' $fichero > ./nuevaVersion/$fichero done
Muchisimas gracias a todos. ----- Original Message ----- From: "Miguel Rodríguez Penabad" <[EMAIL PROTECTED]> To: <debian-user-spanish@lists.debian.org> Sent: Tuesday, March 23, 2004 7:18 PM Subject: Re: OT: script en bash que busque cadenas de texto en ficheros... On Tuesday 23 March 2004 19:37, SmasSive wrote: > Ya le pones al final del comando el fichero que quieres modificar? > > Es decir: > > sed 's/foo/bar/g' fichero.txt > Pero el sed modifica el fichero.txt y manda la salida a la salida estándar. Puedes redirigir la salida estándar y luego renombrar: sed 's/foo/bar/g' fichero.txt > salida.txt && mv salida.txt fichero.txt O lo puedes hacer de forma que renombre en el fichero, con vim, con perl... Yo he probado el siguiente script, que cambia todos los "mal" por "bien" en un directorio: #!/bin/bash for fichero in /el/directorio/que/sea/* do perl -pi -e 's/mal/bien/g' $fichero done -- ======================================================================== Miguel Rodriguez Penabad [EMAIL PROTECTED] Laboratorio de Bases de Datos http://emilia.dc.fi.udc.es/labBD Despacho 0.01 Tel. 981 167000 ext. 1333 Facultade de Informática Universidade da Coruña (Spain) ========================================================================