Das Herzstück von awk ist die Fähigkeit, Zeilen in Felder zu zerlegen.
Damit unterscheidet sich awk von Tools wie sed oder grep, die Texte meist nur zeilenweise bearbeiten.
In diesem Kapitel lernst du, wie awk Daten in Zeilen und Spalten verarbeitet – die Grundlage für alle weiteren Kapitel.
🔹 Wie awk Daten liest
awk liest eine Datei Zeile für Zeile.
Jede Zeile wird standardmäßig anhand von Leerzeichen oder Tabulatoren in Felder aufgeteilt.
Die Felder kannst du mit $1, $2, $3, … ansprechen.
Die ganze Zeile erreichst du mit $0.
👉 Damit wird Text zu strukturierten Daten – ideal für Logs, CSVs oder Konfigurationsdateien.
🔹 Ein erstes Beispiel
Datei users.txt:
Alice 25 Berlin Bob 30 Hamburg Charlie 22 Köln
Mit awk kannst du die erste Spalte (Namen) ausgeben:
awk '{print $1}' users.txt
Ausgabe:
Alice Bob Charlie
Die zweite Spate (Alter):
awk '{print $2}' users.txt
Ausgabe:
25 30 22
Die dritte Spalte (Stadt):
awk '{print $3}' users.txt
👉 Schon mit {print $…} kannst du gezielt Daten aus Spalten auslesen.
🔹 Mehrere Felder kombinieren
Du kannst auch mehrere Felder ausgeben – zum Beispiel Name + Stadt:
awk '{print $1, $3}' users.txt
Ausgabe:
Alice Berlin Bob Hamburg Charlie Köln
👉 awk setzt die Felder dabei standardmäßig mit einem Leerzeichen auseinander.
🔹 Ganze Zeilen ausgeben
Willst du die komplette Zeile ausgeben:
awk '{print $0}' users.txt
Ausgabe:
Alice 25 Berlin Bob 30 Hamburg Charlie 22 Köln
👉 $0 steht immer für die gesamte Zeile.
🔹 Feldtrennzeichen ändern
Standardmäßig ist das Whitespace (Leerzeichen, Tab) das Trennzeichen.
Mit der Option -F kannst du ein anderes Trennzeichen setzen.
Beispiel: CSV-Datei daten.csv:
Alice,25,Berlin Bob,30,Hamburg Charlie,22,Köln
Befehl:
awk -F, '{print $1, $3}' daten.csv
Ausgabe:
Alice Berlin Bob Hamburg Charlie Köln
👉 Mit -F kannst du awk für beliebige Textformate nutzen.
🔹 Übung
- Erstelle eine Datei freunde.txt mit folgendem Inhalt:
Max 28 München Lisa 32 Stuttgart Tom 24 Dresden
- Gib nur die Namen aus
($1). - Gib nur die Städte aus
($3). - Kombiniere Name + Alter
($1, $2).
Bonus: Erstelle eine CSV-Datei mit , als Trennzeichen und verwende awk -F, zum Auslesen.
✅ Zusammenfassung
- awk zerlegt jede Zeile in Felder.
- Felder werden mit
$1,$2, … angesprochen, die ganze Zeile mit$0. - Standard-Trennzeichen: Leerzeichen und Tabs.
- Mit
-Fkannst du beliebige Trennzeichen festlegen (z. B.,für CSV). - Schon mit einfachen
print-Befehlen kannst du Daten flexibel auswerten.
👉 Im nächsten Kapitel lernst du, wie du mit Muster & Bedingungen in awk nur bestimmte Zeilen auswählst – z. B. alle Nutzer über 25 Jahre.
📚 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
