AWK

AWK
Información general
Paradigma Programación dirigida por eventos, Programación imperativa
Apareció en 1977, última revisión 1985, la versión POSIX actual es IEEE Std 1003.1-2004
Diseñado por Alfred Aho, einberger, and Brian Kernighan
Tipo de dato débil, dinámico
Implementaciones awk, GNU Awk, mawk, nawk, MKS AWK, Thompson AWK (compilador), Awka (compilador)
Dialectos old awk oawk 1977, new awk nawk 1985, GNU Awk
Influido por C, Bourne shell, SNOBOL
Ha influido a Perl, Korn shell(ksh93, dtksh, tksh), JavaScript
Sistema operativo Multiplataforma
[ editar datos en Wikidata]

AWK es un lenguaje de programación diseñado para procesar datos basados en texto, ya sean ficheros o flujos de datos. El nombre AWK deriva de las iniciales de los apellidos de sus autores: Alfred Aho, einberger, y Brian Kernighan. awk, cuando está escrito todo en minúsculas, hace referencia al programa de Unix o Plan 9 que interpreta programas escritos en el lenguaje de programación AWK.

AWK es ejemplo de un lenguaje de programación que usa ampliamente el tipo de datos de listas asociativas (es decir, listas indexadas por cadenas clave), y expresiones regulares. El poder, brevedad y limitaciones de los programas de AWK y los guiones de sed inspiraron a Larry Wall a escribir Perl. Debido a su densa notación, todos estos lenguajes son frecuentemente usados para escribir programas de una línea.

AWK fue una de las primeras herramientas en aparecer en Unix (en la versión 3) y ganó popularidad como una manera de añadir funcionalidad a las tuberías de Unix. La implementación de alguna versión del lenguaje AWK es estándar en casi todo sistema operativo tipo unix moderno. AWK es mencionado en las Single UNIX Specification (especificaciones básicas de unix) como una de las utilidades necesarias de todo sistema operativo Unix. Se pueden instalar implementaciones de AWK en casi todos los demás sistemas operativos.

Estructura de los programas AWK

Generalmente hablando, a AWK se le dan dos piezas de datos: un fichero de órdenes y un fichero primario de entrada. Un fichero de órdenes (que puede ser un fichero real, o puede ser incluido en la invocación de AWK desde la línea de órdenes) contiene una serie de órdenes que le dicen a AWK cómo procesar el fichero de entrada. El fichero primario de entrada es normalmente texto formateado de alguna manera; puede ser en un fichero real, o puede ser leído por AWK de la entrada estándar (teclado). Un programa AWK típico consiste en una serie de líneas, cada una de la forma

/patrón/ { acción }

donde patrón es una expresión regular y acción es una orden. La mayoría de las implementaciones de AWK usan expresiones regulares extendidas por defecto. AWK mira a lo largo del fichero de entrada; cuando encuentra una línea que coincide con el "patrón", ejecuta la (s) orden (es) indicadas en "acción". Las formas alternativas incluyen:

BEGIN { acción }
Ejecuta las órdenes acción al comienzo de la ejecución, antes de que los datos comiencen a ser procesados.
END { acción }
Similar a la forma previa pero ejecuta las órdenes acción después de que todos los datos sean procesados.
/patrón/
Imprime las líneas acordes al patrón.
{ acción }
Ejecuta acción por cada línea en la entrada.

Cada una de estas formas pueden ser incluidas varias veces en un archivo. El fichero es procesado de manera progresiva, entonces si hubiera dos declaraciones "BEGIN", sus contenidos serán ejecutados en orden de aparición. Las declaraciones "BEGIN" y "END" no necesitan estar en forma ordenada.

AWK fue creado como un reemplazo a los algoritmos escritos en C para métodos de análisis de texto.

Other Languages
العربية: أوك
български: AWK
bosanski: Awk
català: Awk
čeština: AWK
Deutsch: Awk
Ελληνικά: AWK
English: AWK
eesti: AWK
فارسی: AWK
suomi: AWK
français: Awk
galego: AWK
עברית: AWK
hrvatski: AWK
magyar: Awk
Հայերեն: AWK
italiano: Awk
日本語: AWK
한국어: AWK
latviešu: AWK
Bahasa Melayu: AWK
Nederlands: AWK
norsk nynorsk: Awk
norsk bokmål: Awk
polski: AWK
português: AWK
română: AWK
русский: AWK
srpskohrvatski / српскохрватски: AWK
српски / srpski: AWK
svenska: Awk
тоҷикӣ: Awk
Türkçe: AWK
українська: AWK
Tiếng Việt: AWK
中文: Awk