AWK es una poderosa herramienta de procesamiento de texto y análisis de datos en Linux. Su nombre proviene de las iniciales de sus creadores: Aho, Weinberger y Kernighan. AWK permite filtrar, formatear y manipular líneas de texto de forma muy eficiente, lo que lo hace ideal para administradores de sistemas y desarrolladores.

1. ¿Qué es AWK?

AWK es un lenguaje de programación orientado a patrones. Funciona leyendo archivos línea por línea, aplicando reglas de búsqueda y ejecutando acciones sobre las líneas que coinciden. Es comúnmente usado con archivos CSV, logs de sistema, resultados de comandos, y más.

2. Sintaxis básica

La estructura general de un comando AWK es:

awk 'patrón { acción }' archivo
  • patrón → Condición que debe cumplir la línea para ejecutar la acción.
  • acción → Qué hacer con la línea (imprimir, modificar, calcular).

Ejemplo simple:

awk '{ print $1 }' archivo.txt

Imprime la primera columna de cada línea del archivo archivo.txt.

3. Ejemplos prácticos

Filtrar líneas que contienen una palabra

awk '/error/ { print $0 }' syslog.log

Muestra todas las líneas del log que contienen la palabra error.

Imprimir columnas específicas

awk '{ print $2, $5 }' datos.txt

Imprime la segunda y quinta columna del archivo datos.txt.

Calcular sumas o promedios

Supongamos un archivo ventas.txt con cantidades en la segunda columna:

awk '{ total += $2 } END { print "Total:", total }' ventas.txt

Suma todas las cantidades y muestra el total al final.

Usar delimitadores personalizados

Si los campos están separados por comas:

awk -F',' '{ print $1, $3 }' datos.csv

4. Buenas prácticas

  • Siempre prueba tus scripts AWK con archivos de ejemplo antes de procesar datos importantes.
  • Usa variables y estructuras de control para scripts más complejos.
  • Combina AWK con grep, sed y otros comandos para un flujo de trabajo potente.

5. Conclusión

AWK es una herramienta esencial en Linux para manipular texto y analizar datos de manera rápida y eficiente. Con unos pocos comandos puedes filtrar logs, calcular totales o extraer información crítica de archivos estructurados. Aprender AWK mejora significativamente tu productividad en la línea de comandos.

Deja una respuesta