Introducció a awk

awk és una potent eina de processament de text que permet manipular i analitzar dades en fitxers de text. És especialment útil per treballar amb dades estructurades en columnes, com ara fitxers CSV.

Conceptes Clau

  • Patró-Acció: awk funciona basant-se en patrons i accions. Un patró és una condició que, si es compleix, executa una acció específica.
  • Registres i Camps: awk tracta cada línia d'un fitxer com un registre i cada paraula o columna com un camp.
  • Variables Integrades: awk té diverses variables integrades, com ara NR (número de registre) i NF (número de camps).

Sintaxi Bàsica

awk 'pattern { action }' input_file
  • pattern: Condició que ha de complir una línia per executar l'acció.
  • action: Acció a realitzar si el patró es compleix.
  • input_file: Fitxer de text a processar.

Exemples Pràctics

Exemple 1: Imprimir Totes les Línies

awk '{ print }' fitxer.txt

Aquest comandament imprimeix totes les línies del fitxer fitxer.txt.

Exemple 2: Imprimir una Columna Específica

awk '{ print $2 }' fitxer.txt

Aquest comandament imprimeix la segona columna de cada línia del fitxer fitxer.txt.

Exemple 3: Filtrar Línies Basades en un Patró

awk '/patró/ { print }' fitxer.txt

Aquest comandament imprimeix només les línies que contenen el text "patró".

Exemple 4: Comptar el Nombre de Línies

awk 'END { print NR }' fitxer.txt

Aquest comandament imprimeix el nombre total de línies en el fitxer fitxer.txt.

Exemple 5: Sumar Valors d'una Columna

awk '{ sum += $1 } END { print sum }' fitxer.txt

Aquest comandament suma tots els valors de la primera columna i imprimeix el resultat.

Exercicis Pràctics

Exercici 1: Imprimir la Tercera Columna

Descripció: Escriu un comandament awk que imprimeixi la tercera columna de cada línia del fitxer dades.txt.

Solució:

awk '{ print $3 }' dades.txt

Exercici 2: Filtrar Línies que Contenen un Patró Específic

Descripció: Escriu un comandament awk que imprimeixi només les línies que contenen la paraula "error" en el fitxer logs.txt.

Solució:

awk '/error/ { print }' logs.txt

Exercici 3: Calcular la Mitjana d'una Columna

Descripció: Escriu un comandament awk que calculi la mitjana dels valors de la segona columna en el fitxer valors.txt.

Solució:

awk '{ sum += $2; count++ } END { print sum/count }' valors.txt

Errors Comuns i Consells

  • Oblidar les cometes simples: Assegura't d'envoltar el patró i l'acció amb cometes simples (').
  • Confondre els números de columna: Recorda que $1 és la primera columna, $2 és la segona, etc.
  • No utilitzar END correctament: Quan necessitis executar una acció després de processar totes les línies, utilitza el bloc END.

Conclusió

awk és una eina increïblement versàtil per al processament de text i l'anàlisi de dades. Amb una comprensió bàsica dels seus patrons i accions, pots començar a manipular fitxers de text de manera eficient. Practica amb els exemples i exercicis proporcionats per familiaritzar-te amb les seves capacitats.

© Copyright 2024. Tots els drets reservats