sed und awk ohne Geheimnisse

Die Benutzung beider Programme ist leicht zu erlernen, und sie sind hervorragend für die Mustererkennung geeignet. sed ist ein Stream-Editor – seinen Namen erhielt das Programm vom Befehl simple ed. awk ist eine Programmiersprache, die nach ihren Entwicklern (Aho, Weinberger und Kernighan) benannt wurde. In diesem Artikel werden die grundlegenden Funktionen von sed und awk beschrieben. Fortgeschrittenere Anwendungen folgen in späteren Artikeln.

sed und awk sind beide gut geeignet, monotone Aufgaben der Textbearbeitung zu automatisieren, die man normalerweise interaktiv mit einem Text-Editor durchführen würde. Sie sind Stream-orientiert, d.h. sie übernehmen Eingaben aus Textdateien – zeilenweise – und erzeugen Standardausgaben.

sed findet vor allem für die wiederholte Bearbeitung einer oder mehrerer Dateien Verwendung. awk kann als Programmiersprache benutzt werden, um strukturierte Daten zu bearbeiten und daraus formatierte Berichte zu erstellen. sed und awk werden wie Shellskripte ausgeführt; die Ausführung der Anweisungen geschieht der Reihe nach. Man nutzt sed-Skripte in der Regel für einfache Aufgaben, z.B. für die Gewährleistung einer konsistenten Schreibweise von Elementen wie dem Namen einer Methode innerhalb eines Dokuments oder einer Reihe von Dokumenten. awk ist eher für komplexere Aufgaben geeignet, z.B. für die Neuformatierung von Daten oder das Erstellen von individuellen Berichten.

awk ist eine vollständige Programmiersprache und beschränkt sich nicht auf die Funktionen eines Text-Editors wie sed. awk ist vorzüglich geeignet, um nutzbringende Berichte aus Log-Dateien oder Daten einer Text-basierten Datenbank zu erstellen. Damit awk mit den Daten etwas anfangen kann, müssen diese allerdings strukturiert sein, denn davon geht awk aus.

Übliche Verwendungen von sed:

  • Verdoppeln/Verdreifachen der Leerzeichen in einer Datei
  • Umwandlung von DOS/UNIX-Zeilenumbrüchen
  • Entfernen von Leerzeichen am Zeilenanfang oder -ende
  • Ersetzungen in allen/ausgewählten Zeilen
  • Löschen von aufeinander folgenden Leerzeilen
  • Löschen von Leerzeilen am Anfang/Ende einer Datei

Übliche Verwendungen von awk:

  • Verwaltung kleiner individueller Datenbanken
  • Erstellung von Berichten
  • Validierung von Daten
  • Erstellung von Indices sowie weitere Aufgaben zur Dokumentenaufbereitung
  • Experimentieren mit Algorithmen, die später auf andere Programmiersprachen übertragen werden können
  • Verarbeitung der Ergebnisse von UNIX-Befehlen
  • Elegantere Verarbeitung von Kommandozeilen-Argumenten

sed und awk verwenden eine ähnliche Syntax, was die Einarbeitung erleichtert. sed-Anweisungen bestehen aus Ausdrücken zur Bearbeitung von Zeilen, während awk-Anweisungen aus Programmier-Ausdrücken und Funktionen bestehen.

Dabei kommen reguläre Ausdrücke ausgiebig zur Anwendung – es empfiehlt sich also, für einige Hintergrundinformationen zu regulären Ausdrücken einmal einen Blick auf den Artikel „Demystifying the syntax of regular expressions“ zu werfen.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

KI-gestütztes Programmieren bringt IT-Herausforderungen mit sich

OutSystems-Studie: 62 Prozent der Befragten haben Sicherheits- und Governance-Bedenken bei Softwareentwicklung mit KI-Unterstützung.

2 Stunden ago

Studie: Ein Drittel aller E-Mails an Unternehmen sind unerwünscht

Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…

3 Tagen ago

HubPhish: Phishing-Kampagne zielt auf europäische Unternehmen

Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…

4 Tagen ago

1. Januar 2025: Umstieg auf E-Rechnung im B2B-Geschäftsverkehr

Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.

4 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…

4 Tagen ago

Erreichbarkeit im Weihnachtsurlaub weiterhin hoch

Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…

5 Tagen ago