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öl
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.txtAusgabe:
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.txtAusgabe:
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.txtAusgabe:
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.csvAusgabe:
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
-F kannst 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