Dentro de las herramientas del sistema UNIX awk es equivalente a una navaja del ejercito suizo, que es útil para modificar archivos, buscar y transformar bases de datos, generar informes simples y otras muchas cosas. Awk puede usarse para buscar un nombre particular en una carta o para añadir un nuevo campo a una base de datos pequeña. También se puede utilizar para realizar el tipo de funciones que proporcionan muchas de las otras herramientas del sistema UNIX – buscar patrones, como egrep, o modificar archivos, como tr o sed --. Pero puesto que también es un lenguaje de programación, resulta más potente y flexible que cualquiera de ellos.
Awk está especialmente diseñado para trabajar con archivos estructurados y patrones de texto. Dispone de características internas para descomponer líneas de entrada en campos y comparar estos campos con patrones que se especifiquen. Debido a estas posibilidades, resulta particularmente apropiado para trabajar con archivos que contienen información estructurada en campos, como inventarios, listas de correo y otros archivos de bases de datos simples. Este manual mostrará como utilizar awk para trabajar con tales tipos de archivos.
Muchos programas útiles awk solamente son de una línea de longitud, pero incluso un programa awk de una línea puede ser el equivalente de una herramienta regular del sistema UNIX. Por ejemplo, con un programa awk de una línea puede contarse el número de líneas de un archivo (como wc), imprimir el primer campo de cada línea (como cut), imprimir todas las líneas que contienen la palabra <> (como grep), intercambiar la posición de los campos tercero y cuarto de cada línea (join y paste) o borrar el último campo de cada línea. Sin embargo, awk es un lenguaje de programación con estructuras de control, funciones, y variables. Así, si se aprenden órdenes awk adicionales, pueden escribirse programas más complejos.
El nombre de awk se debe a las iniciales de sus diseñadores: Alfred V. Aho, Peter J. Weinberger y Brian W. Kernighan. La versión original de awk fue escrita en 1977 en los Laboratorios de AT&T. En 1985 una nueva versión hizo al lenguaje de programación más potente, introduciendo funciones definidas por el usuario, múltiples streams de entrada y evaluación de expresiones regulares. Esta nueva versión estuvo disponible de forma general con el Unix System V Release 3.1.El Release 4 de System V añadió algunas características nuevas y también corrigió algunos de los agujeros que presentaba el lenguaje.
La implementación GNU, gawk, fue escrita en 1986 por Paul Rubin y Jay Fenlason, con consejos de Richard Stallman. John Woods también contribuyó con parte del código. En 1988 y 1999, David Trueman, con ayuda de Arnold Robbins, trabajaron duramente para hacer a gawk compatible con el nuevo awk
0 Comentarios