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

  1.  Erstelle eine Datei freunde.txt mit folgendem Inhalt:
    Max 28 München
    Lisa 32 Stuttgart
    Tom 24 Dresden
  2. Gib nur die Namen aus ($1).
  3. Gib nur die Städte aus ($3).
  4. 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