Die Linux -Befehlszeilenschnittstelle bietet eine Fülle von Textverarbeitungswerkzeugen, eines der leistungsstärksten Tools ist der sed
-Befehl. sed
ist die Abkürzung von Stream Editor, einem multifunktionalen Tool, das eine komplexe Verarbeitung von Textdateien und Streams ermöglicht.
sed
ist ein nicht interaktiver Texteditor, der Pipe-Eingangs- oder Textdateien betreibt. Durch die Bereitstellung von Anweisungen können Sie Text in einer Datei oder einem Stream ändern und verarbeiten. Zu den häufigsten Anwendungsfällen sed
gehört das Auswählen von Text, das Ersetzen von Text, das Ändern von Originaldateien, das Hinzufügen von Zeilen zum Text oder das Entfernen von Zeilen aus Text. Es kann aus der Befehlszeile in Bash und anderen Befehlszeilenschalen verwendet werden.
Die Syntax des sed
-Befehls enthält drei Hauptteile:
sed
verwenden. Wenn es keinen Dateinamen gibt, wird das Skript mit den Standardeingabedaten betrieben. Sie können den sed
-Befehl auch ohne Optionen ausführen. Die grundlegende Syntax ist wie folgt:
sed 选项[脚本] [输入文件名]
sed
ist nicht das einzige Textverarbeitungswerkzeug im Linux -Ökosystem. Ein weiteres mächtiges Dienstprogramm ist awk
. Während sich beide mit Text befassen, haben sie einige wichtige Unterschiede:
sed
ist gut darin, Text in einer einfachen und einfachen Sprache zu analysieren und zu konvertieren, was es einfach, begrenzt, aber einfach zu bedienen macht.awk
hingegen ist ein Werkzeug für die Textverarbeitung und das Schreiben leistungsstarker Programme, die in Aussageform erscheinen. Es ist komplexer, vielseitiger und leistungsfähiger als sed
, aber auch komplexer. Lassen Sie uns darüber nachgedacht, wie sed
mit einigen praktischen Beispielen funktioniert. Nehmen wir für all diese Beispiele an, wir haben eine Datei namens ik.txt
. Beachten Sie, dass sed
die ursprüngliche Datei standardmäßig nicht ändert. Alle Änderungen werden in der Ausgabe angezeigt, aber die Originaldatei bleibt gleich.
Eine der häufigsten Operationen im Textersatz sed
ist der Textersatz. Dies geschieht mit dem Befehl s
Zum Beispiel, um die erste Instanz des Schemas abc
durch ein anderes Schema def
zu ersetzen, verwenden Sie:
sed s/abc/def/ ik.txt
Hier wird die erste Instanz von abc
in jeder Zeile durch def
ersetzt. Wenn Sie die dritte Instanz des Musters ersetzen möchten, können Sie verwenden:
sed s/abc/z/3 ik.txt
Globaler Ersatz im globalen Ersatz, alle Instanzen des Musters werden ersetzt. Dies erfolgt durch Anhängen von g
am Ersatzbefehl. Um alle abc
-Instanzen durch XYZ
zu ersetzen, verwenden Sie:
sed s/abc/XYZ/g ik.txt
Sie können auch den globalen Ersatz durch die n -te Instanz des Musters mit /ng
beginnen. Zum Beispiel, um alle abc
-Instanzen durch die dritte Instanz durch XYZ
zu ersetzen, verwenden Sie:
sed s/abc/XYZ/3g ik.txt
Kurz gesagt, der sed
-Befehl in Linux ist ein leistungsstarker Stream -Editor, der mehrere Vorgänge in Textdateien und Streams ausführen kann. Es bietet keine interaktive Schnittstelle, sondern betreibt die Pipeline -Eingabe- oder Textdateien basierend auf den von uns angegebenen Anweisungen. Die Syntax dieses Befehls ist relativ einfach und besteht aus drei Teilen: Optionen, einem Skript, das den zu ausgeführten Linux -Befehl enthält, und eines Dateinamens.
Das obige ist der detaillierte Inhalt vonMastering Textmanipulation mit dem SED -Befehl. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!