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 manúal 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 <<comunicación>> (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 fué 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.
Manual |