Ließt eine Datei zeilenweise aus, nimmt Änderungen vor und gibt sie zeilenweise auf stdout wieder aus
Gut für Manipulation von Dateien (Konfig-Files) - nicht geeignet um Dateien auszuwerten → dafür ist awk besser; sed gibt alles was es einließt auch wieder aus
gibt alle Daten die es einließt auch wieder aus
Bedienung/Operationen
Syntax: sed ' BereichOperation ' Datei
Die Syntax ist ähnlich den Editionsbefehlen im VIM.
HowTo
Escapen von single Quotes (einfachen Anführungszeichen
für gewöhnlich sieht ein Aufruf von sed so aus
sed 's/Bla/Blubs/' <file>
das Script/Befehl für sed steht in ' damit er durch die Bash nicht expandiert wird/interpretiert wird
würde man jetzt eine Operation durchführen wollen die „'“ als Zeichen enthält, hätte man das Problem das die Bash das „'“ als Ende des Ausdrucks sehen würde
sed 's/'/"/'
obiges würde fehlschlagen, da die Bash das zweite „'“ als Ende des Ausdrucks wertet und nach dem „“„ auf ein schließendes “„“ wartet
auch ein escapen via „\“ funktioniert nicht, da das nur innerhalb von sed als ecsape verstanden wird
Lösung man zerstückelt das Script in einzelne Strings
sed 's/'"'"'/"/'
der erste String ist 's/' (in „'“ eingeschlossen)
der zweite String ist „'“ (in „“„ eingeschlossen)
die Bash ignoriert das “'„ zwischen den Anführungszeichen, weil der String mit “„“ beginnt und es ein schließendes „“„ erwartet
der dritte String ist '/“/' (in „'“ eingeschlossen)
technisch sieht die Bash 3 Strings die hintereinander ohne Leerzeichen folgen, löscht alle Anführungsstriche und übergibt sie als einen Parameter an sed