Das Bearbeiten von Textdateien und Terminalausgaben ist für diejenigen, die Linux-Computer verwalten, eine alltägliche Aufgabe. Befehlszeilenprogramme wie sed ermöglichen es einem Benutzer, den Inhalt einer Textdatei direkt über das Terminalfenster zu ändern.

In diesem Artikel werden wir den Befehl sed ausführlich diskutieren, zusammen mit einigen wesentlichen Beispielen, die die Leistungsfähigkeit des Dienstprogramms sed unter Linux demonstrieren.

Was ist das sed-Kommando?

Der Befehl sed, der ein Akronym für ist Stream-Editorist ein Befehlszeilentool, mit dem Linux-Benutzer textbasierte Vorgänge für Dateien und Terminalausgaben ausführen können. Mit sed können Benutzer bestimmte Wörter in einem Text finden und ersetzen, einen bestimmten Abschnitt der Ausgabe anzeigen und Textdateien bearbeiten, ohne sie zu öffnen.

Die drei grundlegenden Operationen, die vom Befehl sed unterstützt werden, sind:

  1. Einfügen
  2. Streichung
  3. Substitution (Suchen und Ersetzen)

Fortgeschrittene Benutzer können mit dem Befehl sed auch reguläre Ausdrücke implementieren, um Textströme effizienter zu bearbeiten.

instagram viewer

Die grundlegende Syntax des Befehls lautet:

sed [Optionen] [Muster] [Dateipfad]

...wo Optionen sind die verschiedenen Funktionen des Befehls, Muster ist der reguläre Ausdruck oder das Skript, mit dem Sie übereinstimmen möchten, und Dateipfad ist der Pfad zu der Textdatei, die den Text enthält.

10 Beispiele für den Linux-Befehl sed

Wenn Sie vorhaben, ein regulärer Linux-Benutzer zu werden, kann es hilfreich sein, zu wissen, wie Sie Dateien bearbeiten, bestimmte Wörter suchen und ersetzen und die Terminalausgabe filtern. Dieser Abschnitt enthält einige Beispiele für den Befehl sed, mit dem Sie definitiv zu einem Linux-Power-User werden.

Wir werden die folgende Textdatei zur Demonstration in der Post verwenden.

Dies ist eine Demo-Textdatei.
Es ist eine erstaunliche Datei, die uns allen helfen wird.
Der Befehl sed eignet sich auch hervorragend für die Stream-Bearbeitung.
Möchten Sie lernen, wie Sie den Befehl verwenden?
Dies ist eine weitere Zeile in der Datei.
Dies ist die dritte allgemeine Zeile in der Datei.
Diese Datei wird als Textdatei bezeichnet.
Das ist ein Apfel.
Das ist eine Orange.

1. Anzeigen einer Reihe von Linien

Linux-Befehle wie Kopf und Schwanz geben die ersten oder letzten zehn Zeilen einer Textdatei aus. Was aber, wenn Sie den Inhalt zwischen zwei bestimmten Zeilen in einer Datei abrufen möchten? In solchen Situationen kann der Befehl sed nützlich sein.

Ausgabe des Inhalts zwischen den Zeilen 3 und 5 der Datei textfile.txt:

sed -n '3,5p' textfile.txt

Das -n Das Flag verhindert, dass sed am Ende jedes Zyklus den Musterraum anzeigt. Sie können auch die verwenden --ruhig und --Leise Optionen anstelle von -n. Das p Argument steht für drucken und wird verwendet, um dem Benutzer die übereinstimmenden Zeilen anzuzeigen.

Das Ausführen des oben genannten Befehls in der Beispieldatei erzeugt die folgende Ausgabe.

Der Befehl sed eignet sich auch hervorragend für die Stream-Bearbeitung.
Möchten Sie lernen, wie Sie den Befehl verwenden?
Dies ist eine weitere Zeile in der Datei.

Verwenden Sie die Taste, um den gesamten Dateiinhalt mit Ausnahme des angegebenen Bereichs auszugeben d Flagge statt p im Befehl:

sed '3,5d' textfile.txt

Das d flag löscht die übereinstimmenden Zeichenfolgen aus der Ausgabe und zeigt den Rest des Inhalts an.

Dies ist eine Demo-Textdatei.
Es ist eine erstaunliche Datei, die uns allen helfen wird.
Dies ist die dritte allgemeine Zeile in der Datei.
Diese Datei wird als Textdatei bezeichnet.
Das ist ein Apfel.
Das ist eine Orange.

2. Nicht aufeinanderfolgende Linien anzeigen

So drucken Sie nicht aufeinanderfolgende Zeilen zwischen mehreren Bereichen in der Datei:

sed -n -e '1,2p' -e '5,6p' textfile.txt

Ausgabe:

Dies ist eine Demo-Textdatei.
Es ist eine erstaunliche Datei, die uns allen helfen wird.
Dies ist eine weitere Zeile in der Datei.
Dies ist die dritte allgemeine Zeile in der Datei.

Das -e Flagge hilft bei ausführen mehrere Aktionen mit einem einzigen Befehl.

3. Leerzeichen zwischen Zeilen einfügen

Wenn Sie aus irgendeinem Grund leere Zeilen zwischen die einzelnen Zeilen einer Textdatei einfügen möchten, verwenden Sie die G Argument mit dem Standardbefehl sed.

sed G textfile.txt

Übergeben Sie mehrere Leerzeilen in die Ausgabe, um mehrere Leerzeilen einzufügen G Argumente getrennt durch die Semikolon (;) Zeichen.

sed 'G; G 'textfile.txt

4. Ersetzen Sie ein Wort in einer Textdatei

Wenn Sie jedes Vorkommen eines bestimmten Wortes durch ein anderes Wort ersetzen möchten, verwenden Sie die s und G Argumente mit dem Befehl. Die grundlegende Syntax zum Ersetzen von Wörtern mit dem Befehl sed lautet:

sed s / originalword / replaceword / g Dateiname

Mit der oben genannten Syntax können Sie das Wort ersetzen tolle mit Super in der Datei textfile.txt:

sed s / erstaunliches / super / g textfile.txt

Das s Argument bezeichnet Auswechslung und der G Der Befehl wird verwendet, um den übereinstimmenden Inhalt durch den angegebenen Ersetzungsinhalt zu ersetzen.

Um das zweite Vorkommen des Wortes durch sed zu ersetzen, übergeben Sie eine Zahl an G Streit. In diesem Fall:

sed s / erstaunliches / super / g2 textfile.txt

Wenn Sie beim Ersetzen von Wörtern Zeichenfälle ignorieren möchten, verwenden Sie gi Anstatt von G, wo ich steht für ignorieren Fall.

sed s / Amazing / super / gi textfile.txt

Verbunden: Verwenden Sie Vi? So öffnen Sie eine Datei, speichern und beenden sie

5. Ersetzen Sie Wörter innerhalb eines Bereichs

Sie können auch Wörter innerhalb eines bestimmten Bereichs ersetzen.

sed '2,5s / erstaunliches / super / g' textfile.txt

6. Führen Sie mehrere Ersetzungen gleichzeitig durch

Wenn Sie zwei oder mehr Ersetzungen gleichzeitig durchführen möchten, trennen Sie einfach die Befehle mit dem Semikolon (;) Zeichen.

sed 's / erstaunlich / super / g; s / command / Utility / gi 'textfile.txt

Das System zeigt die folgende Ausgabe an.

Dies ist eine Demo-Textdatei.
Es ist eine super Datei, die uns allen helfen wird.
Das Dienstprogramm sed eignet sich auch hervorragend für die Stream-Bearbeitung.
Möchten Sie lernen, wie Sie das Dienstprogramm verwenden?
Dies ist eine weitere Zeile in der Datei.
Dies ist die dritte allgemeine Zeile in der Datei.
Diese Datei wird als Textdatei bezeichnet.
Das ist ein Apfel.
Das ist eine Orange.

7. Ersetzen Sie Wörter nur, wenn eine Übereinstimmung gefunden wird

Sie können den Befehl sed auch verwenden, um ein Wort nur zu ersetzen, wenn eine bestimmte Übereinstimmung in der Zeile gefunden wird. Zum Beispiel, um das Wort zu ersetzen ein mit ein wenn das Wort Orange ist in der Zeile vorhanden:

sed -e '/ orange / s / a / an / g' textfile.txt

Wenn Sie den oben genannten Befehl eingeben, wird Folgendes ausgegeben:

Dies ist eine Demo-Textdatei.
Es ist eine super Datei, die uns allen helfen wird.
Das Dienstprogramm sed eignet sich auch hervorragend für die Stream-Bearbeitung.
Möchten Sie lernen, wie Sie das Dienstprogramm verwenden?
Dies ist eine weitere Zeile in der Datei.
Dies ist die dritte allgemeine Zeile in der Datei.
Diese Datei wird als Textdatei bezeichnet.
Das ist ein Apfel.
Das ist eine Orange.

Beachten Sie, dass das Wort ein in der Schlange Das ist ein Apfel wurde nicht ersetzt, da das System das Wort nicht gefunden hat Orange drin.

8. Ersetzen Sie Wörter durch reguläre Ausdrücke

Für diejenigen, die wissen, wie man reguläre Ausdrücke verwendet, wird das Ausführen von Operationen an Zeichenfolgen mit dem Befehl sed viel einfacher. Sie können reguläre Ausdrücke implementieren, um die Leistung des Befehls zu verbessern.

Um alle Vorkommen des Wortes zu ersetzen Tolle oder tolle mit Super:

sed -es / [Aa] mazing / super / g 'textfile.txt

In ähnlicher Weise können Sie auch erweiterte reguläre Ausdrücke verwenden, um bestimmte Operationen mit dem Befehl sed auszuführen.

9. Pipe sed mit anderen Befehlen

Sie können sed auch mit anderen Linux-Befehlen verketten. Zum Beispiel können Sie die Pipe lspci Befehl mit sed, um Leerzeichen zwischen den Zeilen in der Ausgabe hinzuzufügen.

lspci | sed G.

Um bestimmte Wörter in der Ausgabe des zu ersetzen IP-Route anzeigen Befehl:

ip route show | sed s / src / source / g

Der oben genannte Befehl ersetzt das Wort Quelle anstelle des ursprünglichen Wortes src.

Verbunden: So verwenden Sie den Befehl Suchen, um unter Linux nach Dateien zu suchen

10. Bearbeiten und sichern Sie die Originaldatei

Wenn Sie mit Systemdateien arbeiten, ist es wichtig, die Originaldatei zu sichern, während Sie Änderungen vornehmen. Dies hilft Ihnen beim Zurücksetzen der Änderungen, falls etwas kaputt geht.

Verwenden Sie die, um die Originaldatei mit sed zu sichern -ich Flag im Befehl.

sed -i'.backup 's / erstaunliches / super / g' textfile.txt

Eine neue Datei mit dem Namen wird erstellt textfile.txt.backup. Sie können überprüfen, ob die beiden Dateien unterschiedlich sind diff Befehl.

diff textfile.txt textfile.txt.backup

Bearbeiten von Strings unter Linux Mit sed

Während Sie mit Textdateien auf dem Terminal arbeiten, ist es manchmal ein Muss, die Ausgabe für eine bessere Lesbarkeit zu formatieren und zu bearbeiten. Sed und awk sind Befehlszeilenprogramme unter Linux, mit denen ein Benutzer effizient mit Textdateien arbeiten kann, indem die Daten in separate Zeilen unterteilt werden.

Vielen Benutzern fällt es schwer, sich die Argumente und Flags des Befehls sed zu merken, da viele von ihnen zur Verfügung stehen. Wenn Sie wissen, wie Sie Befehlszeilenhandbücher für jeden Linux-Befehl erhalten, können Sie solche Situationen problemlos überwinden.

Email
7 Möglichkeiten, um unter Linux eine Befehlszeilenhilfe zu erhalten

Alle wichtigen Befehle zum Erlernen von Linux-Befehlen über die Befehlszeile

Weiter lesen

Verwandte Themen
  • Linux
  • Texteditor
  • Terminal
  • Eingabeaufforderung
Über den Autor
Deepesh Sharma (36 Artikel veröffentlicht)

Deepesh ist der Junior Editor für Linux bei MUO. Er schreibt seit über 3 Jahren Informationsinhalte im Internet. In seiner Freizeit schreibt er gerne, hört Musik und spielt Gitarre.

Mehr von Deepesh Sharma

Abonnieren Sie unseren Newsletter

Abonnieren Sie unseren Newsletter für technische Tipps, Rezensionen, kostenlose E-Books und exklusive Angebote!

Noch ein Schritt…!

Bitte bestätigen Sie Ihre E-Mail-Adresse in der E-Mail, die wir Ihnen gerade gesendet haben.

.