martes, julio 13

Buscar y reemplazar texto en todos los archivos de un directorio y/o subdirectorio (Linux)

Necesitaba cambiar una cadena en varios archivos, mas bien en muchos, es la misma cadena, uso linux, en este momento uso Ubuntu 10.04, aunque mi preferido es Debian, estoy a la espera de la liberacion de la nueva version Debian squeeze.

Bueno, dije, en linux todo se puede, basta una consola y combinar comandos, asi que busque en mi buen amigo google y encontre esta entrada:


http://www.guatewireless.org/articulos/buscar-y-reemplazar-texto-en-todos-los-archivos-dentro-de-un-directorio-y-todos-los-subdirectorios/



en este link vienen ejemplos para hacer varias cosas con el texto buscado , yo solo necesitaba cambiar la misma cadena en varios archivos de determinada extension, asi que use estos comandos :


find *.extensiondelosarchivos | xargs perl -pi -e 's/cadenaABuscar/nuevaCadena/'


y uff, en un segundo ya habia terminado..

Nota: Es importante que no falte la diagonal al final de la nueva Cadena, ya que de lo contrario les marcara un error similar al siguiente:


Substitution replacement not terminated at -e line 1.
xargs: perl: acabó con status 255; abortando

Gracias guatewireless and linux.....