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
| Option | Bedeutung |
|---|---|
| s/a/b/g | Replace a with b; without the trailing g only the first per line |
| -i | Edit in place. GNU takes -i alone, BSD and macOS need -i "" |
| -E | Extended regex; BSD also accepts -r for GNU compatibility |
| -n | Print nothing unless a command says to, usually with p |
| -e | Add another expression to the script |
| -f | Read the script from a file |
Beispiele
sed -i 's/foo/bar/g' file.txtReplaces every foo in place (GNU).
sed -i '' 's/foo/bar/g' file.txtThe same on macOS, with the empty argument.
sed -n '10,20p' file.txtPrints 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