Startseite > Textverarbeitung & Suche > sed

sed -f: Textverarbeitung mit Skriptdateien

sed ist ein Stream-Editor, der Daten aus Textdateien oder der Standardeingabe liest, diese gemäß angegebenen Regeln transformiert und ausgibt. Die Option -f ermöglicht es, sed-Befehle in einer Skriptdatei zu schreiben und auszuführen, was die effiziente Verwaltung komplexer oder wiederkehrender Textverarbeitungsaufgaben erleichtert. Es ist nützlich, um mehrere sed-Befehle in einer Datei zu sammeln und die Wiederverwendbarkeit zu erhöhen.

Übersicht

sed ist ein leistungsstarkes Werkzeug zur Bearbeitung von Textströmen. Mit der Option -f können sed-Befehle in einer separaten Skriptdatei gespeichert und ausgeführt werden. Dies ist sehr nützlich für die Verwaltung komplexer Skripte oder wenn mehrere sed-Befehle gleichzeitig angewendet werden müssen.

Hauptmerkmale

  • Einfache Verwaltung komplexer Skripte
  • Erhöhte Wiederverwendbarkeit von Skripten
  • Integration mehrerer sed-Befehle in einer Datei
  • Einfache Versionskontrolle und Freigabe

Wichtige Optionen

Dies sind die am häufigsten verwendeten Optionen bei der Verwendung von sed -f.

Skriptdatei angeben

Weitere nützliche Optionen

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

Dies sind verschiedene Anwendungsbeispiele für den sed -f-Befehl.

Verwendung einer grundlegenden Skriptdatei

echo 'This is an apple.' > input.txt
echo 's/apple/orange/g' > script.sed
sed -f script.sed input.txt

Erstellt eine Datei script.sed mit dem Befehl 's/apple/orange/g' und wendet sie auf die Datei input.txt an.

Skriptdatei mit mehreren Befehlen

echo -e 'This is an error.\n# This is a comment.\nAnother error.' > data.txt
echo -e 's/error/ERROR/g\n/^#/d' > multi.sed
sed -f multi.sed data.txt

Erstellt eine Datei multi.sed mit mehreren sed-Befehlen und wendet sie auf die Datei data.txt an. (z. B. 'error' in 'ERROR' ändern und Zeilen, die mit '#' beginnen, löschen)

Direkte Dateibearbeitung und Sicherung

echo 'This is old_text.' > file.txt
echo 's/old_text/new_text/g' > replace.sed
sed -i.bak -f replace.sed file.txt
cat file.txt
cat file.txt.bak

Bearbeitet die Datei file.txt direkt mit dem Befehl in der Datei replace.sed und erstellt eine Sicherungskopie mit der Erweiterung .bak.

Ausgabe bestimmter Zeilen mit der Option -n

echo -e 'Line 1\nLine 2\nLine 3' > log.txt
echo '2p' > print_line.sed
sed -n -f print_line.sed log.txt

Erstellt eine Datei print_line.sed mit dem Befehl '2p', um nur die zweite Zeile der Datei log.txt auszugeben.

Tipps & Hinweise

Dies sind nützliche Tipps und zu beachtende Punkte bei der Verwendung von sed -f.

Berechtigungen für Skriptdateien

Skriptdateien, die mit sed -f ausgeführt werden, benötigen keine Ausführungsberechtigung. Nur Leseberechtigung ist erforderlich.

Fehlersuche

Wenn ein sed-Skript nicht wie erwartet funktioniert, können Sie die Option -n in Kombination mit dem p-Befehl verwenden, um zu überprüfen, ob ein bestimmtes Muster übereinstimmt, oder den l-Befehl (list), um nicht druckbare Zeichen anzuzeigen.

Kombination von -e und -f

Sie können einfache Befehle direkt mit der Option -e angeben und komplexe Skriptdateien mit der Option -f zusammen verwenden. Dies ermöglicht eine flexible Skripterstellung.

Verwaltung von Sicherungsdateien

Bei Verwendung der Option -i ist es ratsam, eine Sicherungsdatei zu erstellen. Unnötige Sicherungsdateien sollten regelmäßig bereinigt werden.


Gleiche Kategorie Befehle