Textverarbeitung mit AWK und sed

Lernen Sie die Textverarbeitung mit AWK und sed. Dieses Modul behandelt die Grundlagen der sed-Substitution, das sed-Stream-Editing, die Spaltenextraktion mit AWK, das Filtern und die Logik mit AWK sowie Berechnungen mit AWK. Sie werden diese wesentlichen Linux-Fähigkeiten durch praktische Übungen und reale Herausforderungen meistern.

DevOps EngineerLinuxDevOps

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Verwandle unbearbeiteten Text aus der Kommandozeile mit zwei der leistungsfähigsten Linux-Werkzeuge zur Textverarbeitung in nützliche, reproduzierbare Ergebnisse. In diesem praxisorientierten Kurs entwickelst du ein klares Verständnis von sed als Stream-Editor und awk als feldorientierter Verarbeitungssprache, damit du das passende Werkzeug auswählst, statt anfällige Einmalbefehle zusammenzusetzen.

Du arbeitest mit Beispieltexten, CSV-ähnlichen Daten, /etc/passwd und Webserver-Protokollen. Kurze geführte Übungen führen zu einer Systembericht-Challenge, in der du Protokolle bereinigst, HTTP-Statuscodes extrahierst, 404-Antworten zählst, eine Fehlerrate berechnest und einen kompakten Bericht erzeugst.

Was du lernen wirst

  • Mit sed die erste oder alle passenden Fundstellen ersetzen
  • Lesbare Trennzeichen wählen und Dateien mit einer Sicherung direkt bearbeiten
  • Zeilen über sed-Adressen und -Befehle löschen, einfügen und gezielt ausgeben
  • Felder mit awk extrahieren, einschließlich eigener Trennzeichen und des letzten Feldes über $NF
  • Datensätze nach Zahlenbedingungen oder Textmustern filtern und die Ausgabe mit NR nummerieren
  • Die awk-Verarbeitung mit BEGIN, Logik pro Datensatz, Variablen und END strukturieren
  • Werte summieren, bedingt zählen, Prozentsätze berechnen und einen Bericht formatieren

Für wen dieser Kurs geeignet ist

Dieser Kurs auf mittlerem Niveau richtet sich an Linux-Anwender, Systemadministratoren, DevOps-Lernende und Entwickler, die strukturierten Text untersuchen und umformen möchten, ohne dafür ein größeres Programm zu schreiben. Er ist besonders nützlich, wenn du regelmäßig mit Protokollen, Befehlsausgaben, getrennten Datendateien oder einfachen Betriebsberichten arbeitest.

Voraussetzungen: Grundkenntnisse im Umgang mit dem Linux-Terminal, Dateien und Verzeichnissen, Pipes und Ausgabeumleitung. Vorkenntnisse in sed oder awk sind nicht erforderlich.

Lernumgebung: Ein LabEx-Linux-Terminal mit vorbereiteten Text-, Konto-, CSV-ähnlichen und Webprotokolldateien.

Häufig gestellte Fragen

Wann sollte ich sed und wann awk verwenden?

Verwende sed, wenn du hauptsächlich Zeilen in einem Textstrom ändern, löschen, einfügen oder auswählen möchtest. Verwende awk, wenn du Datensätze in Felder zerlegen, Bedingungen anwenden, Zähler oder Summen führen und einen Bericht zusammensetzen musst. In der abschließenden Challenge kommen beide nacheinander zum Einsatz.

Verändern die Übungen echte Systemdaten?

Nein. Der Kurs liest /etc/passwd, um die Feldextraktion zu üben, verändert die Datei aber nicht. Bearbeitet werden vorbereitete Projektdateien; das Substitutions-Lab zeigt sowohl eine reine Vorschau als auch sed -i.bak, wodurch eine Kopie des Originals erhalten bleibt.

Was erstelle ich in der abschließenden Challenge?

Du wandelst ein Beispiel-Webserver-Protokoll mit Anführungszeichen in mehrere überprüfbare Ergebnisse um: ein bereinigtes Protokoll, eine Statuscode-Liste, eine 404-Anzahl, eine Datei mit der Fehlerrate und eine einzeilige Zusammenfassung wie Total: 8, 404: 2, Rate: 25%.

Lehrer

labby
Labby
Labby is the LabEx teacher.