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

NiPoGi AM06 PRO Mini PC: Perfekte Kombination aus Leistung, Flexibilität und Portabilität

Kostengünstiger Mini-PC mit AMD Ryzen 7 5825U-Prozessor, 16 GB Arbeitsspeicher (RAM) und 512 GB SSD.

4 Stunden ago

Black Friday: Vorsicht vor schädlichen QR-Codes

Bösartige QR-Codes, die per E-Mail versendet werden, eignen sich sehr gut, um Spam-Filter zu umgehen.

3 Tagen ago

Black Friday: Zahl der ominösen Shopping-Websites steigt

Unsichere Websites und Phishing-Mails in Verbindung mit Black Friday können kauffreudigen Konsumenten zum Verhängnis werden.

3 Tagen ago

SmokeBuster bekämpft SmokeLoader

Malware SmokeLoader wird weiterhin von Bedrohungsakteuren genutzt, um Payloads über neue C2-Infrastrukturen zu verbreiten.

3 Tagen ago

Taugen Kryptowährungen als Unterstützer der Energiewende?

Bankhaus Metzler und Telekom-Tochter MMS testen, inwieweit Bitcoin-Miner das deutsche Stromnetz stabilisieren könnten.

4 Tagen ago

Supercomputer-Ranking: El Capitan überholt Frontier und Aurora

Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…

4 Tagen ago