Hallo Freunde. Der Befehl sed ist ein von Systemadministratoren auf der ganzen Welt überbeanspruchter Befehl. Es wird im Wesentlichen verwendet, um Text für Text in einer Textdatei mit einem einzigen Befehl zu ersetzen. Deshalb stellen wir Ihnen heute die Top 20 der Sed-Befehle vor. Dazu sehen wir uns die nützlichsten und gebräuchlichsten an.
Die 20 wichtigsten sed-Befehle
Einen String durch einen anderen String ersetzen
Der Befehl sed wird verwendet, um Zeichenfolgen zu ersetzen. Aber es ist so flexibel, dass wir die Ausführung an unsere Bedürfnisse anpassen können.
Ändern Sie in einer Textdatei die Zeichenfolge macOS
zu Linux
wir müssten rennen
sed 's/macOS/Linux/' [file]
Anschließend können Sie den Befehl um die gewünschten Zeichenfolgen anpassen.
2.- Ersetzen Sie eine bestimmte Anzahl von Vorkommen einer Zeichenfolge
Der obige Befehl ersetzt die Zeichenfolge nur einmal. Sie können die Reihenfolge angeben, in der die Zeichenfolge ersetzt wird.
sed 's/macOS/Linux/2' [file]
In diesem Fall wird nur das zweite Vorkommen ersetzt.
3.- Alle Vorkommen eines Strings ersetzen
sed 's/macOS/Linux/g' [file]
4.- Ersetzen Sie eine Zeichenfolge in einer bestimmten Zeilennummer.
Eine weitere nützliche Option ist das Ersetzen einer Zeichenfolge in einer Zeilennummer. Dies ist nützlich, wenn Sie die Datei gut kennen.
sed '[line] s/macOS/Linux/' [file]
Zum Beispiel, um eine Zeichenkette in der dritten Zeile zu ersetzen.
sed '3 s/macOS/Linux/' [file]
5.- Ersetzen von Zeichen innerhalb eines Bereichs
Ersetzen von Zeichen innerhalb eines bestimmten Zeilenbereichs in einer Datei.
sed '30,40 s/macOS/Linux/g' [file]
In diesem Fall wird die Zeichenfolge nur zwischen den Zeilen 30 und 40 ersetzt.
6.- Zeilenumbrüche in Dateien einfügen
Es ist auch möglich, einen Leerzeilenumbruch einzufügen. Um dies zu erreichen, müssen Sie ausführen.
sed G [file]
Sehr nützlich in Dateien, in denen alles dicht beieinander liegt.
7.- Zeilen aus einer Datei löschen
Obwohl der Befehl sed zum Ersetzen von Zeichenfolgen verwendet wird, können Sie tatsächlich viele Dinge damit tun. Eine davon ist das Löschen einer Zeile. Dazu laufen.
sed 'nd' [file]
Ersetzen Sie n
mit der Nummer der zu löschenden Zeile.
8.- Zeigt die ganze Datei mit Ausnahme eines bestimmten Zeilenbereichs.
Sie können auch eine Datei abzüglich eines Zeilenbereichs anzeigen.
sed '20,35d' [file]
In diesem Fall wird die gesamte Datei mit Ausnahme von Zeile 20 bis 35 angezeigt.
9.-Anzeigen eines bestimmten Zeilenbereichs in einem Dokument
Wenn Sie einen bestimmten Bereich innerhalb der Datei anzeigen möchten, müssen Sie den folgenden Befehl ausführen:
sed -n 'Ni,Nlp' [file]
Wo Sie Ni
ersetzen müssen mit der Startliniennummer und Nl
mit dem Ende.
sed -n '5,15p' [file]
In diesem Fall wird der Bereich der Zeilen 5 bis 15 angezeigt.
10.- Löschen Sie übereinstimmende Zeilen in einer Textdatei
Sie können auch Zeilen löschen, die mit einer bestimmten Textzeichenfolge übereinstimmen.
sed '/macOS/d' [file]
In diesem Fall alle Zeilen mit dem Wort macOS
wird gelöscht.
11.- Zeilennummer in der Datei drucken
Zum Drucken der Zeilennummer in einer Textdatei mit dem Befehl sed
. Dazu müssen wir nur den folgenden Befehl ausführen.
sed '=' [file]
Auf diese Weise wird beim Drucken der Datei die Zeilennummer angezeigt.
12.- Alle Zeilen einer Datei außer den angegebenen löschen.
Jetzt können Sie alle Zeilen in einer Datei außer den von Ihnen angegebenen löschen.
sed '15,21!d' [file]
Auf diese Weise löscht die Datei alle Zeilen außer denen von 15 bis 21.
13.- Ersetzen Sie alle Großbuchstaben durch Kleinbuchstaben mit sed
Bei Textdateien ist die Groß- und Kleinschreibung immer relevant. Also mit sed
Sie können alle Großbuchstaben durch Kleinbuchstaben ersetzen.
sed 's/\(.*\)/\L\1/' [file]
14.- Löschen Sie alle Zeilen, die mit einer Zeichenfolge beginnen
Wenn Sie alle Zeilen löschen möchten, die mit einer bestimmten Zeichenfolge beginnen, können Sie etwas Ähnliches ausführen
sed '/^macOS/d' [file]
15.- Ersetzen Sie alle Vorkommen eines Strings von einer Zeile bis zum Ende
In diesem Fall können Sie eine Zeichenfolge ab einer bestimmten Zeile bis zum Ende der Zeichenfolge durch eine andere ersetzen
sed '3,$s/macOS/Linux/g' [file]
In diesem Fall habe ich Zeile 3 gewählt, aber es kann eine beliebige Zeile sein.
16.- Druckt eine Reihe von Zeilen aus einer Datei
Wenn Sie nur eine Reihe von Zeilen drucken möchten, können Sie dies auch mit sed
tun wie folgt
sed -n '2,10p' [file]
In diesem Beispiel werden alle Zeilen von 2 bis 10 gedruckt.
Lösche Leerzeilen nach jeder Zeile in einer Datei
Das Löschen von Leerzeilen kann in Konfigurationsdateien oder anderen Dateien, in denen wir sie verarbeiten müssen, sehr nützlich sein.
Um diese Leerzeilen zu löschen, können Sie ausführen
sed '/^$/d'[file]
So einfach ist das.
Großschreiben Sie das erste Zeichen jedes Wortes
Dies ist eine der nützlichsten und am häufigsten verwendeten Optionen. Sie können den ersten Buchstaben jedes Wortes durch sein Äquivalent in Großbuchstaben ersetzen.
Führen Sie dazu einfach diesen Befehl aus
sed 's/\([a-z]\)\([a-zA-Z0-9]*\)/\u\1\2/g'
Es ist mühelos.
Entferne die letzte Zeile einer Datei
Es gibt Änderungen, die wir in einer Konfigurationsdatei vornehmen müssen, und wir platzieren sie normalerweise in der letzten Zeile. Was ist, wenn wir es löschen wollen? Nun, Sie können die letzte Zeile einer Datei entfernen, indem Sie
ausführensed '$d' [file]
20.- Zeigt die Hilfe des sed-Befehls
Schließlich können Sie die Hilfe für den Befehl execute zu Rate ziehen
sed --help
Und Sie erhalten einen Ausgabebildschirm wie diesen.
Danke fürs Lesen und ich hoffe, dass es Ihnen gefallen hat und für Ihre Arbeit nützlich sein wird.
sed-Befehlsseite
Weitere Terminalbefehle