Start·Terminal-Befehle

sed

Textverarbeitung

Aufruf

sed -i 's/[old]/[new]/g' [file]

Bearbeitet Text zeilenweise, meist mit s/old/new/; das In-Place-Flag -i unterscheidet sich zwischen GNU und BSD, und ohne abschließendes g ändert sich nur der erste Treffer je Zeile.

Häufige Optionen

OptionBedeutung
s/a/b/gReplace a with b; without the trailing g only the first per line
-iEdit in place. GNU takes -i alone, BSD and macOS need -i ""
-EExtended regex; BSD also accepts -r for GNU compatibility
-nPrint nothing unless a command says to, usually with p
-eAdd another expression to the script
-fRead the script from a file

Beispiele

sed -i 's/foo/bar/g' file.txt

Replaces every foo in place (GNU).

sed -i '' 's/foo/bar/g' file.txt

The same on macOS, with the empty argument.

sed -n '10,20p' file.txt

Prints only lines 10 to 20.

Sie sind fürs Zusammenstecken mit Pipes gebaut. Drei verkettete Befehle sind meist kürzer als einer, der alles macht.

So liest man das

  • Eckige Klammern [ ] markieren einen Teil, den man weglassen kann.
  • Drei Punkte … heißen: mehrere sind erlaubt.
  • Optionen achten auf Groß- und Kleinschreibung — bei manchen Befehlen sind -r und -R verschieden.

Häufige Fragen

Q. Was macht sed?

Bearbeitet Text zeilenweise, meist mit s/old/new/; das In-Place-Flag -i unterscheidet sich zwischen GNU und BSD, und ohne abschließendes g ändert sich nur der erste Treffer je Zeile.

Q. Wie gibt man ihn ein?

sed -i 's/[old]/[new]/g' [file] — eckige Klammern markieren, was wegfallen darf.

Q. Wie viele Optionen lohnen sich?

Hier stehen 6; die vollständige Liste steht in man sed. Der Befehl gehört zu Textverarbeitung.

Verwandte Befehle

man-Seite: man sed