sed
ist stark für sich allein – aber seine wahre Stärke entfaltet es im Zusammenspiel mit anderen Unix-Tools.
In der Shell kannst du Befehle über Pipes (|
) miteinander verbinden.
So nutzt du jedes Werkzeug dort, wo es am besten ist: grep
zum Filtern, sed
zum Ersetzen, awk
zum Analysieren, sort
und uniq
zum Zählen und Aufbereiten.
In diesem Kapitel lernst du typische Kombinationen kennen, die im Admin-Alltag ständig vorkommen.
🔹 sed + grep → Vorfiltern & Bearbeiten
- Nur Zeilen mit „ERROR“ durchlassen und dann Text ersetzen:
grep "ERROR" logfile | sed 's/ERROR/FEHLER/g'
- Alle Zeilen ohne Kommentar (
#
) und dann bestimmte Muster ändern:grep -v "^#" config.txt | sed 's/localhost/127.0.0.1/g'
👉 grep
filtert, sed
transformiert.
🔹 sed + awk → Text bereinigen & analysieren
Beispiel: CSV mit Komma als Dezimaltrenner und Kommentaren:
# Umsatzliste Apfel;1,20 Banane;0,80 Kirsche;2,50
Pipeline:
sed '/^#/d; s/,/./g' sales.csv | awk -F';' '{sum += $2} END {print "Summe:", sum}'
Ausgabe:
Summe: 4.5
🔹 sed + cut → Felder extrahieren & anpassen
Logfile:
2025-09-23 14:01 User=Alice 2025-09-23 14:05 User=Bob
Nur den Usernamen anzeigen:
cut -d' ' -f3 logfile | sed 's/User=//'
Ausgabe:
Alice Bob
👉 cut
holt das dritte Feld, sed
entfernt das Präfix.
🔹 sed + sort + uniq → Bereinigen & Zählen
Logfile mit vielen User-Zugriffen:
User=Alice User=Bob User=Alice User=Charlie User=Bob
Pipeline:
sed 's/User=//' logfile | sort | uniq -c | sort -nr
Ausgabe:
2 Bob 2 Alice 1 Charlie
👉 sed entfernt User=, sort | uniq -c
zählt, sort -nr
sortiert absteigend.
🔹 sed + tr → Umwandeln von Zeichen
Datei namen.txt
:
Alice,Bob,Charlie
Kommas durch Zeilenumbrüche ersetzen:
sed 's/,/\n/g' namen.txt | tr -d '\r'
Ausgabe:
Alice Bob Charlie
👉 sed ersetzt, tr
säubert oder wandelt zusätzliche Zeichen.
🔹 sed in Shell-Skripten
Ein Bash-Skript zur Loganalyse:
#!/bin/bash grep "ERROR" server.log | \ sed 's/.*User=\([^ ]*\).*/\1/' | \ sort | uniq -c | sort -nr
Ausgabe (z. B.):
5 Alice 3 Bob 1 Charlie
👉 Kombination: grep
filtert, sed
extrahiert den User, sort + uniq
zählt, alles in einem Skript.
🔹 Übung
1. Datei config.txt
:
# Config host = localhost port = 8080 host = 127.0.0.1
- Entferne Kommentare mit
sed
. - Extrahiere nur die Werte (
cut
). - Zähle doppelte Werte (
sort | uniq -c
).
2. Datei users.csv
:
Alice,25 Bob,30 Charlie,22
- Ersetze
,
durch;
mit sed. - Extrahiere die zweite Spalte (Alter) mit
cut
. - Berechne den Durchschnitt mit
awk
.
3. Bonus: Erstelle eine Pipeline, die aus einem Logfile nur die User mit ERROR
zählt.
✅ Zusammenfassung
- sed entfaltet seine volle Stärke im Zusammenspiel mit anderen Unix-Tools.
- Typische Kombinationen:
grep
→ filterncut
→ Felder extrahierenawk
→ rechnen/analysierensort
+ uniq → zählentr
→ Zeichen umwandeln
- In Pipelines und Skripten entsteht so ein flexibles, mächtiges Werkzeugset.
👉 Im nächsten Kapitel werden wir gemeinsam ein Praxisprojekt erstellen
📚 Inhaltsverzeichnis
👉 sed Kapitel 1: Grundlagen von sed – erste Ersetzungen & Konzepte
👉 sed Kapitel 2: Suchen & Ersetzen mit sed – Grundlagen & Regex
👉 sed Kapitel 3: Zeilen bearbeiten mit sed
👉 sed Kapitel 4: sed-Skripte schreiben & kombinieren
👉 sed Kapitel 5: sed in Kombination mit anderen Tools
👉 sed Kapitel 6: Praxisprojekt – Konfigurationsdateien automatisch bereinigen & anpassen
⭐ Bonus-Kapitel
👉 sed Kapitel 7: Bonus – Profi-Tipps & Best Practices für sed im Alltag