Re: OT: script en bash que busque cadenas de texto en ficheros... (SOLUCIONADO)
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: 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)
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áticaUniversidade da Coruña (Spain)
Re: OT: script en bash que busque cadenas de texto en ficheros...
Ya le pones al final del comando el fichero que quieres modificar? Es decir: sed 's/foo/bar/g' fichero.txt El Martes, 23 de Marzo de 2004 19:23, Gorka Garay escribió: > muchas gracias por tu respuesta, creo que es lo que necesito, pero he > probado esto: > > > sed 's/foo/bar/g' > > para cambiar foo por bar y el proceso se queda ahi parado ... y acabo > matandolo para probar con > > sed 's/foo/bar/g'& > > y cuando le doy "jobs", el proceso aparece como "Stopped" sin saber por > que... > > se os ocurre algo al respecto? es normal? ah!, olvidaba decir que no hay > diferencias en los ficheros, se quedan igual... > > muchas gracias
Re: OT: script en bash que busque cadenas de texto en ficheros...
muchas gracias por tu respuesta, creo que es lo que necesito, pero he probado esto: sed 's/foo/bar/g' para cambiar foo por bar y el proceso se queda ahi parado ... y acabo matandolo para probar con sed 's/foo/bar/g'& y cuando le doy "jobs", el proceso aparece como "Stopped" sin saber por que... se os ocurre algo al respecto? es normal? ah!, olvidaba decir que no hay diferencias en los ficheros, se quedan igual... muchas gracias
Re: OT: script en bash que busque cadenas de texto en ficheros...
On Tue, Mar 23, 2004 at 06:47:11PM +0100, Gorka Garay wrote: > Hola. > > Si me ayudais con esto me alegrais el dia. He hecho algun script pero > simplemente llamando a otros programas con pipelines y cosas asi, pero nunca > con ficheros. > > La idea es buscar una cadena de texto y reemplazarla por otra en los > ficheros que los contengan. Son como 84 ficheros y podria hacerse a mano, > pero asi de paso aprendo algo del problema. Ah! todos los ficheros estan en > el mismo directorio, con lo que no hace falta buscar cosas de entrada > recursiva en directorios y cosas asi. > > No se por donde empezar y como he visto a menudo a gente hablando de > scripts... me he animado a preguntar. man sed o mejor aun info sed -- Ricardo A.Frydman Analista de Sistemas de Computación http://www.eureka-linux.com.ar pgpJYdqoVT91K.pgp Description: PGP signature