Inicio > Procesamiento y búsqueda de texto > awk

Dominando el comando AWK: El mago del procesamiento de texto

AWK es un potente lenguaje de scripting y herramienta de línea de comandos utilizada para buscar patrones en archivos de texto y procesar o reformatear datos según esos patrones. Se utiliza para diversas tareas de procesamiento de texto, como la generación de informes de datos, la extracción de datos y su transformación. A través de esta guía, aprenderá el uso básico y las características avanzadas de AWK.

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)


comandos relacionados

Son comandos que son funcionalmente similares o que se usan juntos con frecuencia.


Comandos de la misma categoría