awk ist nicht nur ein Textwerkzeug – es kann auch rechnen.
Das macht es ideal, um Zahlen aus Dateien oder Logfiles auszuwerten.
In diesem Kapitel lernst du, wie du Summen, Durchschnitte und weitere Statistiken mit awk berechnest.
Datei noten.txt
:
Alice 85 Bob 73 Charlie 90
Summiere alle Werte der zweiten Spalte:
awk '{sum += $2} END {print sum}' noten.txt
Ausgabe:
248
{sum += $2}
→ Addiert das zweite Feld zusum
.END {print sum}
→ Am Ende der Datei wird das Ergebnis ausgegeben.
👉 Damit hast du die Gesamtsumme.
🔹 Durchschnitt berechnen
Mit NR
(Number of Record = Zeilennummer) kannst du auch den Durchschnitt berechnen:
awk '{sum += $2} END {print sum/NR}' noten.txt
Ausgabe:
82.6667
👉 awk merkt sich automatisch, wie viele Zeilen (NR
) gelesen wurden.
🔹 Minimum & Maximum finden
Du kannst auch das kleinste und größte Element ermitteln.
awk 'NR==1 {min=$2; max=$2} {if($2 < min) min=$2; if($2 > max) max=$2} END {print "Min:", min, "Max:", max}' noten.txt
Ausgabe:
Min: 73 Max: 90
👉 Mit if
kannst du flexibel eigene Regeln bauen.
🔹 Feldweise Berechnungen
Beispiel: Datei umsatz.csv
:
ProduktA 120 5 ProduktB 80 3 ProduktC 200 2
Spalte 2 = Preis, Spalte 3 = Anzahl.
Gesamtumsatz berechnen:
awk '{umsatz = $2 * $3; print $1, umsatz}' umsatz.csv
Ausgabe:
ProduktA 600 ProduktB 240 ProduktC 400
👉 So kannst du eigene Formeln anwenden.
🔹 Formatierte Statistiken
Mit printf
lassen sich Berichte erstellen:
awk '{sum += $2} END {printf "Summe: %d, Durchschnitt: %.2f\n", sum, sum/NR}' noten.txt
👉 Ideal, wenn du Reports direkt im Terminal brauchst.
🔹 Übungen
1. Erstelle eine Datei zahlen.txt mit:
5 10 15 20 25
- Summiere alle Werte.
- Berechne den Durchschnitt.
- Finde das Minimum und Maximum.
2. Erstelle eine Datei verkaeufe.txt
:
Laptop 800 2 Handy 500 5 Tablet 300 3
- Berechne den Umsatz je Produkt.
- Berechne den Gesamtumsatz.
✅ Zusammenfassung
- Mit
sum += $2
undEND
kannst du Summen und Durchschnitte berechnen. NR
gibt die Anzahl der Zeilen zurück – perfekt für Durchschnittswerte.- Mit
if
-Bedingungen kannst du Minimum und Maximum bestimmen. - awk eignet sich ideal für schnelle Berechnungen direkt im Terminal.
👉 Im nächsten Kapitel lernst du, wie du eigene awk-Skripte schreibst, die du speichern und immer wieder verwenden kannst.
📚 Inhaltsverzeichnis
👉 awk Kapitel 1: Felder & Zeilen verstehen
👉 awk Kapitel 2: Muster & Bedingungen in awk
👉 awk Kapitel 3: Textbearbeitung & Formatierung mit awk
👉 awk Kapitel 4: Berechnungen & Statistiken mit awk
👉 awk Kapitel 5: Eigene awk-Skripte schreiben
👉 awk Kapitel 6: Praxisprojekt – Webserver-Logs analysieren mit awk
⭐ Bonus-Kapitel
👉 awk Bonus 1: Unterschiede & Gemeinsamkeiten von sed und awk
👉 awk Bonus 2: Textbereinigung mit sed, Datenanalyse mit awk
👉 awk Bonus 3: Kombinieren in einer Pipeline – sed & awk zusammen einsetzen
👉 awk Bonus 4: Praxisprojekt – Logdateien filtern, bereinigen und auswerten
👉 awk Bonus 5: Profi-Tricks – Reguläre Ausdrücke für sed & awk im Zusammenspiel