Übersicht
sed liest Eingabeströme (Dateien oder Standardeingabe) zeilenweise ein, wendet die angegebenen Skripte (Befehle) an und gibt das Ergebnis an die Standardausgabe aus. Es wird hauptsächlich zum Ändern von Textdatei-Inhalten, zum Suchen und Ersetzen bestimmter Muster sowie zum Löschen von Zeilen verwendet.
Hauptfunktionen
- Leistungsstarke Mustererkennung mit regulären Ausdrücken
- Textersetzung (substitution)
- Zeilenlöschung (deletion)
- Zeileneinfügung und -anhängen (insertion/appending)
- Direkte Bearbeitung von Dateiinhalten (Option -i)
Wichtige Optionen
Die wichtigsten Optionen des sed-Befehls steuern die Art der Skriptangabe oder das Ausgabeverhalten.
Skript- und Verhaltenssteuerung
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`sed` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Lernen Sie Textverarbeitungsmethoden durch verschiedene Anwendungsbeispiele von sed kennen.
Bestimmten String ersetzen
sed 's/old_text/new_text/g' dateiname.txt
Ersetzt alle Vorkommen von 'old_text' durch 'new_text' in der Datei. Das Flag 'g' ersetzt alle Übereinstimmungen in einer Zeile.
Zeilen mit bestimmtem Muster löschen
sed '/error/d' logdatei.txt
Löscht alle Zeilen, die das Wort 'error' enthalten.
Dateiinhalt direkt bearbeiten
sed -i.bak 's/DEBUG=true/DEBUG=false/g' config.txt
Ändert 'DEBUG=true' zu 'DEBUG=false' in der Originaldatei 'config.txt' und erstellt eine Sicherungskopie mit der Erweiterung '.bak'.
Nur die ersten 5 Zeilen ausgeben
sed -n '1,5p' daten.txt
Gibt nur die ersten 5 Zeilen der Datei aus. Verwendet die Option '-n' und den Befehl '1,5p'.
Leere Zeilen löschen
sed '/^$/d' dokument.txt
Löscht vollständig leere Zeilen aus der Datei.
Tipps & Hinweise
Punkte, die bei der Verwendung von sed zu beachten sind, und Tipps für eine effiziente Nutzung.
Missverständnis bezüglich der Option sed -d
Bezüglich des Hinweises 'sed-d' ist zu beachten, dass `-d` keine gültige Befehlszeilenoption für `sed` ist. Der `sed`-Befehl verwendet Optionen wie `-e`, `-f`, `-i`, `-n` usw. Wenn Sie `sed -d` ausführen, interpretiert `sed` `-d` entweder als Dateinamen oder es tritt ein Fehler wegen einer unbekannten Option auf.
Korrekte Verwendung des d-Befehls
`d` ist ein Befehl, der innerhalb eines `sed`-Skripts verwendet wird, um bestimmte Zeilen zu löschen. Zum Beispiel löscht `sed '/pattern/d' dateiname` alle Zeilen, die 'pattern' enthalten. Dies ist ein völlig anderes Konzept als die Befehlszeilenoption `-d`.
Beispiel für die Verwendung des d-Befehls
sed '/zu_löschender_string/d' eingabe.txt > ausgabe.txt
Löscht Zeilen aus der Datei, die 'zu_löschender_string' enthalten.
Verwendung regulärer Ausdrücke
Die Stärke von sed liegt in regulären Ausdrücken. Wenn Sie verschiedene Metazeichen (z. B. `^`, `$`, `*`, `+`, `?`, `.` usw.) beherrschen, können Sie komplexe Mustererkennungen und Ersetzungen durchführen.
- `^`: Zeilenanfang
- `$`: Zeilenende
- `.`: Jedes einzelne Zeichen
- `*`: Das vorhergehende Zeichen wird null- oder mehrmals wiederholt
- `s/alt/neu/g`: Ersetzt alle 'alt' durch 'neu'
- `/muster/d`: Löscht Zeilen mit 'muster'
Gewöhnen Sie sich an die Erstellung von Sicherungsdateien
Wenn Sie Dateien mit der Option `-i` direkt bearbeiten, ist es ratsam, immer eine Sicherungserweiterung anzugeben, um den Verlust der Originaldatei zu vermeiden (z. B. `sed -i.bak ...`).