Startpagina > Tekstverwerking en zoeken > awk

AWK Commando Volledig Onder de Knie: De Magiër van Tekstverwerking

AWK is een krachtige scriptingtaal en opdrachtregelprogramma dat wordt gebruikt om patronen in tekstbestanden te zoeken en gegevens te verwerken of te formatteren op basis van die patronen. Het wordt gebruikt voor diverse tekstverwerkingstaken zoals het genereren van datarapporten, data-extractie en -transformatie. Met deze gids leert u de basisprincipes en geavanceerde functies van AWK.

AWK Overzicht

AWK is een acroniem gevormd uit de initialen van de drie ontwikkelaars: A. V. Aho, P. J. Weinberger en B. W. Kernighan. Het is een veelgebruikte datamanipulatietaal in Unix-achtige systemen. Het leest invoer regel voor regel uit bestanden of standaardinvoer en verwerkt gegevens op basis van gespecificeerde patronen en acties.

Hoe AWK werkt

AWK volgt een basisstructuur: `pattern { action }`. Bij het lezen van elke regel, als het `pattern` overeenkomt, wordt de `action` uitgevoerd. Als er geen patroon is, wordt de actie voor elke regel uitgevoerd. Als er geen actie is, worden overeenkomende regels ongewijzigd afgedrukt.

Kenmerken van AWK

  • Regel-voor-regel verwerking: Verwerkt invoerbestanden één regel (record) tegelijk.
  • Veldniveau toegang: Verdeelt elke regel in velden ($1, $2, ...) gescheiden door witruimte (standaard scheidingsteken) en maakt toegang tot deze velden mogelijk.
  • Patroonherkenning: Kan bewerkingen uitvoeren op alleen regels die overeenkomen met een specifiek patroon.
  • Programmeerfuncties: Biedt basisprogrammeerfuncties zoals variabelen, voorwaardelijke statements, lussen en functies.
  • Rapportgeneratie: Kan eenvoudig complexe opgemaakte tekstrapporten genereren.

Belangrijkste AWK Commando's en Opties

Verwerk tekstgegevens nauwkeurig met behulp van de verschillende opties, ingebouwde variabelen en speciale patronen van AWK.

1. Basisgebruik en Invoer/Uitvoer Opties

2. Ingebouwde Variabelen

3. Speciale Patronen

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`awk` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Gebruiksvoorbeelden

Ervaar de magie van tekstgegevensverwerking door middel van verschillende voorbeelden van AWK-commandogebruik.

Alleen de tweede kolom uit een bestand afdrukken

awk '{print $2}' data.txt

Extraheert en drukt alleen het tweede veld (kolom) van elke regel af uit het bestand `data.txt`. (Standaard scheidingsteken: spatie)

Specifieke kolommen uit een CSV-bestand afdrukken

awk -F',' '{print "Naam: " $1 ", Score: " $3}' scores.csv

Druks de naam (eerste veld) en score (derde veld) af uit het `scores.csv` bestand, dat kommagescheiden (`,`) is.

Alleen regels afdrukken die een specifiek patroon bevatten

awk '/ERROR/{print}' log.txt

Druks alle regels af die de string 'ERROR' bevatten uit het `log.txt` bestand.

Afdrukken met regelnummers

awk '{print NR ": " $0}' names.txt

Druks elke regel van het `names.txt` bestand af, voorafgegaan door het regelnummer.

Waarde van het tweede veld wijzigen in regels waar het eerste veld 'apple' is

awk '$1 == "apple" {$2 = "fruit"; print}' inventory.txt

Zoekt regels in het bestand waar het eerste veld 'apple' is, wijzigt het tweede veld in 'fruit' en drukt vervolgens de hele regel af.

Berichten voor en na bestandsverwerking afdrukken en totale som berekenen

awk 'BEGIN {total = 0; print "Berekening begint!"} {total += $1} END {print "Totaal: " total}' numbers.txt

Telt alle getallen in `numbers.txt` op en drukt berichten af aan het begin en einde. (Gaat ervan uit dat elke regel slechts één getal bevat)


gerelateerde commando's

Functional vergelijkbare of vaak samen gebruikte commando's.


Hétzelfde categoriecommando