Bis jetzt hast du awk direkt in der Kommandozeile eingesetzt.
Das ist praktisch für schnelle Aufgaben, wird aber schnell unübersichtlich, wenn deine Befehle länger werden.

Deshalb bietet awk die Möglichkeit, eigene Skriptdateien zu schreiben. Damit kannst du deine awk-Programme speichern, organisieren und immer wieder nutzen.

🔹 Aufbau eines awk-Skripts

Ein awk-Skript besteht aus einer Reihe von Muster-Aktions-Paaren:

MUSTER { AKTION }

Beispiel (Datei report.awk):

# Kommentarzeilen beginnen mit #
{ sum += $2 }
END { print "Summe:", sum }

👉 Dieses Skript summiert die zweite Spalte einer Datei.

🔹 Skripte ausführen

Ein Skript führst du so aus:

awk -f report.awk daten.txt
  • -f → Datei mit awk-Skript laden
  • daten.txt → Eingabedatei

👉 Damit trennst du Programm (Skript) und Daten – sehr übersichtlich.

🔹 Mehrere Regeln im Skript

Ein Skript kann beliebig viele Regeln enthalten.

Beispiel: statistik.awk

# Summiere Werte in Spalte 2
{ sum += $2 }

# Zähle die Anzahl der Zeilen
{ count++ }

# Ausgabe am Ende
END {
    print "Summe:", sum
    print "Durchschnitt:", sum/count
}

Ausführung:

Summe: 248
Durchschnitt: 82.6667

🔹 Variablen im Skript nutzen

Du kannst Variablen direkt im Skript definieren oder beim Aufruf übergeben.

Beispiel: filter.awk

$2 > limit { print $1, $2 }

Aufruf mit Variable:

awk -v limit=80 -f filter.awk noten.txt

👉 awk ist dadurch sehr flexibel und passt sich deinen Daten an.

🔹 Skripte ausführbar machen

Du kannst awk-Skripte wie Shell-Skripte ausführbar machen.

Beispiel: Datei avg.awk

#!/usr/bin/awk -f
{ sum += $1 }
END { print "Durchschnitt:", sum/NR }

Dann:

chmod +x avg.awk
./avg.awk zahlen.txt

👉 Jetzt kannst du dein awk-Skript wie jedes andere Programm starten.

🔹 Übungen

  1. Schreibe ein Skript sum.awk, das die zweite Spalte summiert und das Ergebnis ausgibt.
  2. Schreibe ein Skript stats.awk, das Summe, Durchschnitt, Minimum und Maximum berechnet.
  3. Ergänze ein Skript filter.awk, das nur Zeilen ausgibt, wenn das Alter ($2) größer als 25 ist.
  4. Mach ein Skript ausführbar mit #!/usr/bin/awk -f und teste es direkt.

✅ Zusammenfassung

awk-Skripte speicherst du mit -f in einer Datei.

Sie bestehen aus Muster-Aktions-Paaren und können mehrere Regeln enthalten.

Variablen lassen sich im Skript oder beim Aufruf (-v) verwenden.

Mit #!/usr/bin/awk -f machst du Skripte ausführbar wie Shell-Skripte.

👉 Im nächsten Kapitel kommt das Praxisprojekt: Wir analysieren echte Webserver-Logs mit awk – ein realistisches Beispiel aus dem Admin-Alltag.

 

📚 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