typestar

awk en Bash

Matemática de columnas sobre registros divididos por espacios.

data='alice 42 admin
bob 17 user
carol 99 admin'

# awk separa por espacios en blanco; $2 es la segunda columna
echo "$data" | awk '{ print $1, $2 * 2 }'

# los patrones seleccionan filas antes de que corran las acciones
echo "$data" | awk '$2 > 20 { print $1 }'
echo "$data" | awk '$3 == "admin" { count++ } END { print count }'

# y suma como una hoja de cálculo
echo "$data" | awk '{ total += $2 } END { print "total", total }'

Cómo funciona

  1. $1, $2 son columnas; las acciones corren por línea.
  2. Un patrón inicial como $2 > 20 selecciona filas primero.
  3. Los bloques END reportan totales después de la última línea.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
13
Caracteres a escribir
430
Tokens
36
Ritmo de tres estrellas
75 tpm

Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 29 segundos.

Escribe este fragmento

Paso 3 de 3 en Herramientas de texto; paso 21 de 26 en Fundamentos del lenguaje.

← Anterior Siguiente →