SED - Der Stream Editor unter Linux

Aus Laub-Home Wiki

Hier entsteht eine Sammlung von SED Beispiel Befehlen, die einem das Arbeiten erleichtern sollen. Mit SED kann man in diversen Skripten Befehle Manipulieren oder Sachen in Dateien austauschen. Es gibt viele Anwendungsbeispiele für SED und es ist immer wieder ein Erfolgserlebnis wenn der SED String funktioniert.

SED - ein paar Befehlsbeispiele

Suchen und ersetzten mit sed

will man in Dateien Worte austauschen geht das folgendermaßen:

sed 's/'SUCHE'/'ERSETZE'/g' orginal.file > new.file

oder um die Datei in-place zu editieren:

sed -i 's/'SUCHE'/'ERSETZE'/g' orginal.file

Alle Zeilen ein/auskommentieren mit sed

Jede Zeile auskommentieren:

sed -i 's@^@#@g' orginal.file

Den Kommentar am Anfang jeder Zeile entfernen:

sed -i 's@^#@@g' orginal.file

Weitere Beispiele

Sucht nach einen String und ersetzt die gesamte Zeile:

sed -i "s/.*Port 22.*/Port 222/g" /etc/ssh/sshd_config

Löscht das erste und Letzte Zeichen eines Streams

sed 's/^.\(.*\).$/\1/'

Schneidet das Letzte Zeichen eines Streams ab

sed 's/.$//'

Schneidet das Letzte Zeichen der letzten Zeile ab

sed '$s/.$//'

Fügt einer Zeil, in der der ZEILENTEXT vorkommt den ANHANGTEXT an

sed -e '/'ZEILENTEXT'/s!$!'ANHANGTEXT'!'

Bestimmte Zeilen kommentieren:

sed -i "/restrict -6/s/^\(.*\)/#\1/g" /etc/ntp.conf

Quellen