Ipsissima verba Debian User: > On Friday 26 March 2004 18:12, "Sergio Ruiz P�rez - aladeweb.com" wrote: > intenta esto > para buscar texto: > grep -n texto_a_buscar *
Y si usas GNU grep, grep -r se mete en los directorios. Es pr�ctico, para evitarte un find . -type f | xargs grep -r, o algo as�. > para modificar texto > for i in * > do > echo "Modificando texto $i" > cat $i | sed "s/texto_viejo/texto_nuevo/g" > $i > done Eso tiene un problema muy grave: el archivo que est� leyendo cat es sobreescrito por la redirecci�n final incluso antes de arrancar el proceso, con lo cual terminar�s con una serie de archivos corruptos, o vac�os. Sugiero reemplazar ese pipeline por: cat "$i" | sed s/viejo/nuevo/g > "$i.$$" && mv "$i.$$" "$i" O, alternativamente, botar el script sh por completo y usar s�lo sed: sed -i s/viejo/nuevo/g * O, si hace falta descender en directorios: find . -type f | xargs sed -i s/viejo/nuevo/g (Este �ltimo encantamiento tendr� problemas si hay archivos cuyo nombre contiene espacios, comillas u otros car�cteres reservados por el shell; en tal caso, necesitas usar la opci�n -exec de find, lo cual ser� un poco m�s lento. Ve los manuales.) -CR -- Ceterum censeo: SCO delenda est.

