Reemplazar una cadena de caracteres en multiples archivos de un directorio

bueno… saludos, tiempo sin escribir, hoy, estando sentado en mi escritorio, llega un tesiste y me dice que le revise un sistema, PHP+Mysql. Cual es mi sorpresa, que no tenia un archivo de conexion solamente, sino que realizaba la cadena de conexcion en todos y cada uno de los archivos del sistema….. cuando ve aquello…… WTF????… bueno.. modifique 2 a pata, pero mi gusano listero despierta y me dice…. “debe haber alguna solucion mas practica…. un script, en perl, en bash….”. bueno. asi que empece a indagar en interner y miren lo que encontre.. 😀

find /directorio/*.#3 | xargs perl -pi -e ‘s/#2/#1/g’

Este script lo ejecutas en el terminal, copiandolo tal y cual como esta aqui, y cambiando solo lo siguiente:

#3 = La extension de los archivos a los que quieres acceder
#2 = Cadena de caracteres a reemplazar
#1 = Cadena de Caracteres que deseas que reemplace la anterior

ejemplo

root@maquina:/home/dk4nno# find /var/sistema/*.php | xargs perl -pi -e ‘s/ANGULO/TORRES/g’

Con este script, se modificaran todos los archivos con extensión PHP, que estan el el directorio /var/sistema, y se reemplazaran todas las cadenas de caracteres que tengan ANGULO por TORRES…

Espero les sirva de algo como a mi…

Saludos..

Anuncios