2 dic 2010

AWK

AWK es un lenguaje de programación creado con la finalidad de procesar datos basados en texto.

"AWK es ejemplo de un lenguaje de programación que usa ampliamente el tipo de datos de listas asociativas, y expresiones regulares."

Cree un pequeño programa que es de gran ayuda para cuando queremos colocar código HTML en nuestro blog, mediante la edición HTML. Como les mencione en una de mis publicaciones, la posibilidad de colocar código en nuestro blog, y sin que pierda formato se puede colocar entre las etiquetas <:pre> ... <:/pre>, pero hay un problema con esto, ya que si copiamos y pegamos el código tal cual de nuestro archivo html que deseamos mostrar, el cuadro de edición de nuestro blog nos mostrará un mensaje de que no esta permitido el uso de ciertas etiquetas, por ejemplo la de html, head y body, son unas de las que no podemos colocar tal cual las tenemos en un archivo en HTML.

Por si no les ha pasado, les muestro con la siguiente imagen el problema.

Y ahora les muestro la forma de corregir esto, que es cambiando la apertura y cierre de etiqueta, cambiando por el código que representa ese carácter.

Pero cambiar uno por uno los signos "<" y ">" de nuestro código HTML, sería demasiado tardado para una página un tanto extensa.

Por eso cree este pequeño script en AWK que nos cambia estos dos caracteres por su correspondiente representación.

El código es el siguiente:
#!/usr/bin/awk -f
{
gsub("<","\\<");
gsub(">","\\>");
print $0
}
En pocas palabras lo que hace es de un archivo de entrada, en este caso un archivo html, cambia los signos por su correspondiente, y el html nuevo es guardado en un archivo diferente.

Veamos un ejemplo de ejecución:
Como vemos el archivo de entrada es el index.html, y como salida pido que se cree un archivo llamado nuevo.html que será el que ahora fue editado.

Este es el archivo index.html que necesito cambiar:

Este es el archivo nuevo.html creado:

Ahora a partir de este último archivo ya puedo copiar y pegar código para mis entradas en el blog, sin perder tanto tiempo.

Se que el código es muy simple, pero sirve.

1 comentario: