Linux: sed

18. November 2023

Das sed-Kommando in Linux steht für „stream editor“ und wird verwendet, um Textzeilen in Dateien oder Eingabequellen zu bearbeiten. Nachfolgend sind einige grundlegende Konzepte aufgelistet, um einen ersten Überblick zu schaffen.

Klassisches Suchen und Ersetzen

Suche nach alterWert und ersetze durch neuerWert (nur das erste Vorkommen pro Zeile).

sed 's/alterWert/neuerWert/' script.sh

Suche nach alterWert und ersetze durch neuerWert (alle Vorkommen pro Zeile).

sed 's/alterWert/neuerWert/g' script.sh

Mehrere Suchen/Ersetzen gleichzeitig

sed 's/alterWert1/neuerWert1/; s/alterWert2/neuerWert2/' script.sh

Löschen von Zeilen

Löschen von Leerzeilen

sed '/^$/d' script.sh

Ausgabe aller Zeilen exkl. Zeile 1 bis 3

sed 1,3d script.sh

Einfügen von Zeilen

Es gibt zwei Möglichkeiten, Zeilen einzufügen:

  • i (insert) – vor dem Treffer
  • a (append) – nach dem Treffer
sed '/muster/i neueZeile'
sed '/muster/a neueZeile'