awk Commando-generator
Genereer awk-commando's voor patroonscanning en tekstverwerking
Aan de slag met awk
## Wat is awk?
`awk` is een programmeertaal voor het verwerken van tekst. Het leest invoer regel voor regel, splitst elke regel in velden en voert een programma van `pattern { action }`-regels erop uit. Het blinkt uit in kolomextractie, tabellaire rapporten en rekenkunde per regel.
## Hoe te gebruiken
1. **Voer het programma in**: Geef een `awk`-programma op zoals `{print $1}`. 2. **Veldscheidingsteken instellen** (optioneel): `-F ','` voor CSV-invoer. 3. **Bestand opgeven**: Voer het te verwerken bestand in. 4. **Kopiëren en uitvoeren**: Kopieer het gegenereerde commando naar je terminal.
Programmasyntaxis
Een `awk`-programma is een reeks regels:
``` pattern { action } pattern { action } ```
### Ingebouwde variabelen - `$0` — de hele huidige regel - `$1`, `$2`, … — het 1e, 2e, … veld (gesplitst via `FS`) - `NF` — aantal velden in de huidige regel - `NR` — huidige regelnummer (over het hele bestand) - `FS` — veldscheidingsteken (standaard witruimte; in te stellen via `-F`)
### Speciale patronen - `BEGIN { … }` — wordt eenmaal uitgevoerd voordat er invoer wordt gelezen (handig voor init/header) - `END { … }` — wordt eenmaal uitgevoerd nadat alle invoer is verwerkt (handig voor totalen)
### Voorbeelden - `{print $1}` — toon het eerste veld van elke regel - `{sum += $1} END {print sum}` — tel de eerste kolom bij elkaar op - `NR == 1 {next} {print}` — sla de kopregel over - `$3 > 100 {print $1, $3}` — toon regels waar het derde veld groter is dan 100
### Aanhalingstekens Zet het programma tussen enkele aanhalingstekens zodat `$`, `{`, `}` niet door de shell worden geïnterpreteerd. Deze generator regelt de aanhalingstekens voor je.
▶Hoe parse ik een CSV-bestand?
▶Hoe bereken ik een lopend totaal?
Als deze tool je heeft geholpen, denk dan eens aan het geven van een kop koffie aan mij.
Koop me een kop koffie.