sed - Der universelle Text-Transformer für die Kommandozeile
sed steht für Stream Editor und ist ein Unix/Linux-Kommandozeilenwerkzeug, das die automatische Bearbeitung von Text ermöglicht, indem es nicht-interaktive Transformationen durchführt.
sed gibt es für alle Unix-ähnlichen Betriebssysteme (wie Linux oder macOS) oder Umgebungen wie Cygwin unter Windows. sed ist praktisch immer vorinstalliert oder über die Paketverwaltung leicht beziehbar. Da es Bestandteil von Busybox ist, ist es auch in den meisten Docker-Containern vorhanden und muss nicht installiert werden.
Die Kernfunktionalität von sed besteht darin, einen Textstrom zeilenweise zu lesen, auf jede Zeile eine oder mehrere vordefinierte Operationen anzuwenden und das Ergebnis auszugeben. Sämtliche Bearbeitungen wie Suchen, Ersetzen, Löschen oder Einfügen laufen dabei ohne manuelle Eingriffe ab. sed verarbeitet Text zeilenweise: Es lädt jede Zeile in den Pattern Space, wendet die definierten Operationen darauf an und gibt das Ergebnis anschließend aus. Dieser Prozess wiederholt sich für alle Zeilen der Eingabedatei.
Es eignet sich hervorragend für Skripte oder Build-Pipelines, in denen Konfigurationsdateien angepasst werden müssen.
Entfernt alle Zeilen, die mit '#' beginnen und überschreibt die Originaldatei
sed -i '/^#/d' meine_konfiguration.conf
Ersetzt in allen Zeilen das Wort "alt" durch "neu" und erstellt eine Backup-Datei
sed -i.bak 's/alt/neu/g' meine_datei.txt
Weitere Informationen wie eine vollständige Befehlsreferenz und Tutorials findt man in der offiziellen GNU sed Dokumentation.
Kommentar schreiben: