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

Microsoft verschiebt erneut Copilot Recall

Die Entwickler arbeiten noch an weiteren „Verfeinerungen“. Windows Insider erhalten nun wohl eine erste Vorschau…

18 Stunden ago

GenKI im Job: Mitarbeitende schaffen Tatsachen

Laut Bitkom-Umfrage werden in jedem dritten Unternehmen in Deutschland private KI-Zugänge genutzt. Tendenz steigend.

20 Stunden ago

97 Prozent der Großunternehmen melden Cyber-Vorfälle

2023 erlitten neun von zehn Unternehmen in der DACH-Region Umsatzverluste und Kurseinbrüche in Folge von…

20 Stunden ago

„Pacific Rim“-Report: riesiges, gegnerisches Angriffs-Ökosystem

Der Report „Pacific Rim“ von Sophos beschreibt Katz-und-Maus-Spiel aus Angriffs- und Verteidigungsoperationen mit staatlich unterstützten…

24 Stunden ago

DeepL setzt erstmals auf NVIDIA DGX SuperPOD mit DGX GB200-Systemen

NVIDIA DGX SuperPOD soll voraussichtlich Mitte 2025 in Betrieb genommen und für Forschungsberechnungen genutzt werden.

1 Tag ago

Latrodectus: Gefährlicher Nachfolger von IcedID

Latrodectus, auch bekannt als BlackWidow, ist auch unter dem Namen LUNAR SPIDER bekannt.

1 Tag ago