Visión general de AWK
AWK es un acrónimo formado por las iniciales de sus tres desarrolladores: A. V. Aho, P. J. Weinberger y B. W. Kernighan. Es un lenguaje de manipulación de datos ampliamente utilizado en sistemas tipo Unix. Lee la entrada línea por línea desde archivos o entrada estándar y procesa los datos basándose en patrones y acciones especificados.
Cómo funciona AWK
AWK sigue una estructura básica: `pattern { action }`. Por cada línea leída, si el `pattern` coincide, se realiza la `action`. Si no hay patrón, la acción se realiza para cada línea. Si no hay acción, las líneas coincidentes se imprimen tal cual.
Características de AWK
- Procesamiento línea por línea: Procesa los archivos de entrada una línea (registro) a la vez.
- Acceso a nivel de campo: Divide cada línea en campos ($1, $2, ...) separados por espacios en blanco (delimitador predeterminado) y permite el acceso a ellos.
- Coincidencia de patrones: Puede realizar operaciones solo en líneas que coincidan con un patrón específico.
- Capacidades de programación: Proporciona características de programación básicas como variables, declaraciones condicionales, bucles y funciones.
- Generación de informes: Puede generar fácilmente informes de texto con formato complejo.
Comandos y opciones clave de AWK
Procese con precisión los datos de texto utilizando las diversas opciones, variables integradas y patrones especiales de AWK.
1. Uso básico y opciones de entrada/salida
2. Variables incorporadas
3. Patrones especiales
Comando generado:
Combina los comandos.
Descripción:
`awk` Ejecutando el comando.
Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.
Ejemplos de uso
Experimente la magia del procesamiento de datos de texto a través de varios ejemplos de uso del comando AWK.
Imprimir solo la segunda columna de un archivo
awk '{print $2}' data.txt
Extrae e imprime solo el segundo campo (columna) de cada línea del archivo `data.txt`. (Delimitador predeterminado: espacio)
Imprimir columnas específicas de un archivo CSV
awk -F',' '{print "Nombre: " $1 ", Puntuación: " $3}' scores.csv
Imprime el nombre (primer campo) y la puntuación (tercer campo) del archivo `scores.csv`, que está delimitado por comas (`,`).
Imprimir solo líneas que contengan un patrón específico
awk '/ERROR/{print}' log.txt
Imprime todas las líneas que contienen la cadena 'ERROR' del archivo `log.txt`.
Imprimir con números de línea
awk '{print NR ": " $0}' names.txt
Imprime cada línea del archivo `names.txt` prefijada con su número de línea.
Cambiar el valor del segundo campo en líneas donde el primer campo es 'apple'
awk '$1 == "apple" {$2 = "fruit"; print}' inventory.txt
Encuentra líneas en el archivo donde el primer campo es 'apple', cambia el segundo campo a 'fruit' y luego imprime la línea completa.
Imprimir mensajes antes y después del procesamiento del archivo y calcular la suma total
awk 'BEGIN {total = 0; print "¡Cálculo iniciado!"} {total += $1} END {print "Total: " total}' numbers.txt
Suma todos los números en `numbers.txt` e imprime mensajes al principio y al final. (Asume que cada línea contiene solo un número)