"Der Begriff sed ist eine Abkürzung von Stream Editor. In Unix/Linux die sed Befehl analysiert und transformiert Streams (Texte in den meisten Fällen). Es ist ein Befehlszeilen-Tool, das in jedem Unix/Linux-System vorinstalliert ist.”
In diesem Leitfaden werden wir das untersuchen G Option in sed.
Grundnutzung von SED
Die häufigste Verwendung des SED -Befehls besteht darin, die Inhalte in einem bestimmten Stream zu finden und zu ersetzen. Die Befehlsstruktur lautet wie folgt:
$ sed 's ///'
Schauen Sie sich das folgende Beispiel an:
$ echo "The Quick Brown Fox" | sed 's/the/the/'
Hier,
Wenn Sie versuchen, eine Textdatei zu bearbeiten, ändert SED den Dateiinhalt standardmäßig nicht an. Dies soll einen versehentlichen Datenverlust vermeiden. Um den Inhalt einer Datei direkt zu ändern.
Die G -Option in SED
Beim Finden und Ersetzen das Standardverhalten von sed soll seine Handlungen kündigen, wenn er die erste Instanz gefunden hat. Das folgende Beispiel zeigt dieses Verhalten perfekt:
$ echo "Das The the the" | sed 's/the/the/'
Hier,
Um SED zu unterweisen, alle passenden Instanzen des angegebenen Musters zu transformieren, müssen wir die G -Option hinzufügen. Aktualisieren Sie den Befehl wie folgt:
$ echo "Das The the the" | sed 's/the/the/g'
Jetzt werden alle Fälle von „The“ in „das“ ordnungsgemäß geändert.
Die G -Option in SED
Wir kommen schließlich zu dem Schwerpunkt dieses Leitfadens. Während G Die Option gilt für die Textsubstitution, die G Option wird für einen völlig anderen Zweck verwendet.
Verwendung der G Option können wir den Speicherplatz halten, um Platz zu halten. In einfachen Worten können wir vor/nach dem Matching -Muster neue Zeilen hinzufügen.
Zur Demonstration habe ich eine Beispieltextdatei erstellt prüfen.txt:
Katze << EOF > prüfen.txt
Die
schnell
braun
Die
Fuchs
Eof
Zusätzlicher Abstand
Wir können jetzt verschiedene Vorgänge im Abstand der Datei ausführen. Verwenden Sie beispielsweise den folgenden Befehl, um die Datei zu verdoppeln, um die Datei zu verdoppeln:
$ sed g Test.txt
In ähnlicher Weise können wir die Datei verdreifachen:
$ sed 'g; g' Test.txt
Hier,
Zusätzlichen Abstand entfernen
Wir können auch die verwenden G Option zum Löschen aller leeren Zeilen und dem doppelten Speicherplatz:
$ sed 'g; g' Test.txt | sed '/^$/d; g'
Einfügen von leeren Zeilen vor/nach den Übereinstimmungen
Wir können ein Muster mit dem regulären Ausdruck angeben und SED sagen, dass er vor/danach eine leere Linie hinzufügen soll.
Das erste Beispiel wird darin bestehen, eine leere Zeile unter dem Matching -Muster hinzuzufügen:
$ sed '/the/g' Test.txt
Im nächsten Beispiel wird eine leere Zeile über dem Matching -Muster hinzugefügt:
$ sed '/the/x; p; x;' Test.txt
Schließlich können wir beide zusammen kombinieren, um leere Zeilen um das passende Muster einzulegen:
$ sed '/the/x; p; x; g;' Test.txt
Abschließende Gedanken
In diesem Leitfaden haben wir erfolgreich verschiedene Möglichkeiten demonstriert, die zu verwenden G Option mit sed Fügen Sie Räume im Text hinzu. Diese Technik kann in verschiedenen Situationen nützlich sein, beispielsweise in einem Debug -Protokoll bestimmte Zeilen auszusetzen.
Ein großer Vorteil von SED ist seine regelmäßige Ausdrucksunterstützung. Erfahren Sie mehr über SED mit Regex. Der SED -Befehl kann auch leicht in Shell Scripting integriert werden.
Happy Computing!