Diese 10 Sed-Beispiele machen Sie zu einem Linux-Power-User

Diese 10 Sed-Beispiele machen Sie zu einem Linux-Power-User

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





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





Was ist der sed-Befehl?

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





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

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

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



Die grundlegende Syntax des Befehls lautet:

sed [options] [pattern] [filepath]

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





Software-Reparatur-Tool für Windows 10

10 Beispiele für den Linux-Befehl sed

Wenn Sie ein regelmäßiger Linux-Benutzer werden möchten, können Sie wissen, wie Sie Dateien bearbeiten, bestimmte Wörter suchen und ersetzen und die Terminalausgabe filtern. Dieser Abschnitt behandelt einige Beispiele für den sed-Befehl, der Sie definitiv zu einem Linux-Power-User macht.

Wir werden die folgende Textdatei zur Demonstration im Beitrag verwenden.





This is a demo text file.
It is an amazing file that will help us all.
The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

1. Anzeigen einer Reihe von Linien

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

Um den Inhalt zwischen den Zeilen 3 und 5 der Datei auszugeben textdatei.txt :

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

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

Die Ausführung des oben genannten Befehls in der Beispieldatei erzeugt die folgende Ausgabe.

The sed command is also great for stream editing.
Want to learn how to use the command?
This is another line in the file.

Um den gesamten Dateiinhalt mit Ausnahme des angegebenen Bereichs auszugeben, verwenden Sie die D Flagge statt P im Befehl:

sed '3,5d' textfile.txt

Die D flag löscht die übereinstimmenden Strings aus der Ausgabe und zeigt den Rest des Inhalts an.

This is a demo text file.
It is an amazing file that will help us all.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

2. Nicht aufeinanderfolgende Zeilen anzeigen

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

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

Ausgabe:

This is a demo text file.
It is an amazing file that will help us all.
This is another line in the file.
This is the third general line in the file.

Die -Und Flagge hilft bei ausführen mehrere Aktionen mit einem einzigen Befehl.

3. Leerzeichen zwischen Zeilen einfügen

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

So greifen Sie auf das Telefon auf dem Computer zu
sed G textfile.txt

Um mehrere leere Zeilen in die Ausgabe einzufügen, übergeben Sie mehrere g Argumente getrennt durch Semikolon ( ; ) Charakter.

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 filename

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

sed s/amazing/super/g textfile.txt

Die S Argument bezeichnet Auswechslung und der g -Befehl wird verwendet, um den übereinstimmenden Inhalt durch den angegebenen Ersatzinhalt zu ersetzen.

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

sed s/amazing/super/g2 textfile.txt

Wenn Sie Groß-/Kleinschreibung beim Ersetzen von Wörtern ignorieren möchten, verwenden Sie geben Sie Anstatt von g , wo ich steht für ignorieren Fall.

sed s/Amazing/super/gi textfile.txt

Verwandt: Verwenden von Vi? So öffnen Sie eine Datei, speichern und beenden

5. Ersetzen Sie Wörter innerhalb eines Bereichs

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

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

6. Führen Sie mehrere Ersetzungen gleichzeitig durch

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

sed 's/amazing/super/g;s/command/utility/gi' textfile.txt

Das System zeigt die folgende Ausgabe an.

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is a orange.

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

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

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

Die Ausgabe des oben genannten Befehls gibt Folgendes aus:

This is a demo text file.
It is an super file that will help us all.
The sed utility is also great for stream editing.
Want to learn how to use the utility?
This is another line in the file.
This is the third general line in the file.
This file is named as textfile.
This is a apple.
This is an orange.

Beachten Sie, dass das Wort zu 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 mit regulären Ausdrücken

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

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

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

Ebenso können Sie 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 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-Routenshow Befehl:

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

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

Verwandt: So verwenden Sie den Find-Befehl zum Suchen nach Dateien in Linux

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 wird Ihnen helfen, die Änderungen rückgängig zu machen, falls etwas kaputt geht.

Um die Originaldatei mit sed zu sichern, verwenden Sie die -ich Flag im Befehl.

beste software zum bearbeiten von youtube-videos
sed -i'.backup' 's/amazing/super/g' textfile.txt

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

diff textfile.txt textfile.txt.backup

Bearbeiten von Strings unter Linux mit sed

Manchmal, während Sie mit Textdateien auf dem Terminal arbeiten, ist das Formatieren und Bearbeiten der Ausgabe für eine bessere Lesbarkeit ein Muss. Sed und awk sind Befehlszeilen-Dienstprogramme in Linux, die es einem Benutzer ermöglichen, effizient mit Textdateien zu arbeiten, indem er die Daten in separate Zeilen aufteilt.

Viele Benutzer haben Schwierigkeiten, sich die Argumente und Flags des Befehls sed zu merken, da viele davon zur Verfügung stehen. Wenn Sie wissen, wie Sie Befehlszeilenhandbücher für jeden Linux-Befehl erhalten, können Sie solche Situationen leicht überwinden.

Teilen Teilen Tweet Email 7 Möglichkeiten, um Hilfe über die Befehlszeile unter Linux 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(79 Artikel veröffentlicht)

Deepesh ist Junior Editor für Linux bei MUO. Er schreibt Informationshandbücher zu Linux mit dem Ziel, allen Neulingen eine glückselige Erfahrung zu bieten. Bei Filmen bin ich mir nicht sicher, aber wenn Sie über Technologie sprechen möchten, ist er Ihr Mann. In seiner Freizeit findet man ihn beim Lesen von Büchern, beim Hören verschiedener Musikgenres oder beim Gitarrespielen.

Mehr von Deepesh Sharma

Abonniere unseren Newsletter

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

Klicken Sie hier, um sich zu abonnieren