===== Allgemein =====
* SED -> Stream Line Editor
* 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 ' //Bereich// //Operation// ' //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/'
* 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