Java Expert....Java/Open Source Addict

Redes Sociales

twitterlinkedinrss feedemail youtube

Mostrando entradas con la etiqueta perl. Mostrar todas las entradas
Mostrando entradas con la etiqueta perl. Mostrar todas las entradas

lunes, 29 de junio de 2009

Usando Perl con /


Luego de terminar una implementación nueva de reportes realizada en java utilizando un servidor de reportes llamado Crystal Clear, el siguiente paso consistía en cambiar la llamada del viejo servidor por el nuevo. Lo cual involucraba cambiar cierta [cadena1] por [cadena2] en cada uno de los archivos, que eran muchos y que residian en un servidor web Tomcat localizado en un RedHat.

Para realizar esta tarea utilice el comando perl con las diferentes opciones que tenía pero en pleno proceso ocurrió un error, el cual era que mis cadenas contenían el caracter / que daba inconvenites en la búsqueda del patrón. Mi primer intento fue este.

perl -e s//matoosfe//matoosfe_company/g -pi.bak *.xsl


Pero no tuve éxito ya que el caracter / no era reconocido con un separador de la expresión, por lo cual la siguiente opción fue utilizar el caracter de escape que era el backslahe \ quedando el comando de la siguiente forma:

perl -e s/\/matoosfe/\/matoosfe_company/g -pi.bak *.xsl

Pero tenia errores al ejecutarlo, asi que la solución que encontre fue cambiar el caracterer separador de la expresión / por otro en mi caso utilice ¡, pudiendo utilizarse cualquier otro excepto los utilzados por gnu-linux en operaciones bash como el ! por ejemplo. Aclarando esto mi comando quedo de la siguiente manera:

perl -e s¡/matoosfe¡/matoosfe_company¡g -pi.bak *.xsl

Para terminar el comando ejecutado anteriormente lo que hace es cambiar la cadena /matoosfe por la cadena /matoosfe_company en todo el directorio en todos los archivos con extensión .xsl y sacar un respaldo del archivo cambiado con extensión .back .

Espero les sea de mucha utilidad