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 ladendaten.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
- Schreibe ein Skript
sum.awk
, das die zweite Spalte summiert und das Ergebnis ausgibt. - Schreibe ein Skript
stats.awk
, das Summe, Durchschnitt, Minimum und Maximum berechnet. - Ergänze ein Skript
filter.awk
, das nur Zeilen ausgibt, wenn das Alter ($2) größer als 25 ist. - 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