[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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" <penabad@udc.es>
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 penabad@udc.es
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)
========================================================================



Reply to: