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 zu sum.
  • 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 und END 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