SED -Befehl in Linux mit 15 praktischen Beispielen

SED -Befehl in Linux mit 15 praktischen Beispielen

Der "sed" Befehl ist ein wesentliches Werkzeug zum Manipulieren von Text unter Linux. Sie können in einem Text nach Mustern suchen und verschiedene Vorgänge im passenden Text ausführen, z. B. das Ersetzen, Löschen oder Drucken. Dieser Befehl nimmt die Eingabe aus einer Datei oder einer Standardeingabe an.

Der Standard -SED -Befehl vor -ich Befehlszeilenparameter. Der Befehl alarmiert den Text und sendet das Ergebnis an die Standardausgabe. Sie können den Text auch nach den Anforderungen in die Datei umleiten.

In diesem Artikel werden wir 15 praktische Beispiele für die Verwendung der Verwendung angeben "sed" Befehl zur Ausführung verschiedener Aufgaben.

Das Beispiel für Saiten durch SED ersetzen

1. Zeichenfolge in einer Datei ersetzen

Um eine Zeichenfolge in einer Datei zu ersetzen, können Sie die verwenden 's/old_string/new_string/g' Befehl. Die Syntax ist:

# Syntax seds/old_string/new_string/g 'Datei_Name
12# Syntaxseds/old_string/new_string/g 'File_name

Verwenden Sie die Zeichenfolgen in einer Datei mit dem SED -Befehl, um die SED zu ersetzen -ich Argument, um die Änderungen an der Stelle vorzunehmen. Die Befehlszeichenfolge muss den Befehl Ersatz enthalten 'S', die ursprüngliche Zeichenfolge und die Ersatzzeichenfolge. Zum Beispiel, um alle Instanzen der Zeichenfolge „Apple“ durch die Zeichenfolge „Banana“ in einer Datei namens Fruits zu ersetzen.TXT, verwenden Sie den folgenden Befehl:

Siehe das folgende Beispiel:

sed 's/apple/banane/g' Früchte.txt  

Dieser Befehl liest den Inhalt aus den „Früchten.txt ”Datei und ersetzt alle Vorkommen des Wortes "Apfel" mit dem Wort "Banane" und druckt den resultierenden Text an das Terminal. Der G Gibt den Befehl an, alle übereinstimmenden Ereignisse weltweit in der Datei zu ersetzen.

Sie können auch die Änderungen in derselben Datei mit dem vornehmen -ich Möglichkeit.

sed -i 's/apple/banane/g' Früchte.txt  

Sie werden sehen, dass die Originaldatei geändert wird. Sie können auch die Sicherung der Datei durchführen, bevor Sie Änderungen in der Originaldatei vornehmen.

sed -i.Baks/Apfel/Banane/G 'Früchte.txt  

Eine Sicherungsdatei des Originals wird im aktuellen Verzeichnis mit Namen erstellt Früchte.txt.Bak.

2. Ersetzen Sie das erste Ereignis jeder Zeile

Um nur das erste Ereignis eines Musters in jeder Zeile zu ersetzen, können Sie den S/Muster/Ersatz/Befehl verwenden. Zum Beispiel nur das erste Ereignis des Wortes „Apfel“ durch das Wort „Banane“ in den Dateifrüchten zu ersetzen.TXT, Sie können den folgenden Befehl verwenden:

sed 's/apple/banane/' Früchte.txt  

3. Ersetzen Sie das letzte Ereignis jeder Linie

Um nur das letzte Auftreten eines Musters in jeder Zeile zu ersetzen, können Sie den Befehl S/Muster/Ersatz/G verwenden. Zum Beispiel, um nur das letzte Auftreten des Wortes „Apfel“ durch das Wort „Banane“ in den Dateifrüchten zu ersetzen.TXT 'Sie können den folgenden Befehl verwenden:

sed 's/\ (.*\) Apfel/\ 1Banana/g 'Früchte.txt  

4. Zeichenfolge unter bestimmter Liniennummer ersetzen

Um eine Zeichenfolge in einer bestimmten Zeile zu ersetzen. Zum Beispiel, um das erste Ereignis des Wortes „Apfel“ durch das Wort „Banane“ in Zeile 3 der Dateifrüchte zu ersetzen.TXT, Sie können den folgenden Befehl verwenden:

sed '3s/apple/banane/' Früchte.txt  

5. Ersetzen Sie die Zeichenfolge aus dem Bereich der Zeilennummern

Um eine Zeichenfolge auf einer Reihe von Zeilen zu ersetzen. Zum Beispiel, um das erste Auftreten des Wortes „Apfel“ durch das Wort „Banane“ in Zeilen 3 bis 5 der Dateifrüchte zu ersetzen.TXT, Sie können den folgenden Befehl verwenden:

Sed '3,5s/Apfel/Banane/' Früchte.txt  

Löschen von Linien in der Datei mit SED

6. Erste Zeile aus der Datei löschen

Um eine Zeile zu löschen, die eine bestimmte Zeichenfolge enthält, können Sie den Befehl /muster /d verwenden. Zum Beispiel, um alle Zeilen zu löschen, die das Wort „Apple“ in den Dateifrüchten enthalten.TXT, Sie können den folgenden Befehl verwenden:

sed '1d' Früchte.txt  

7. Löschen der Zeile enthält eine bestimmte Zeichenfolge

Um eine Zeile zu löschen, die eine bestimmte Zeichenfolge enthält, können Sie die verwenden '/muster/d' Befehl. Zum Beispiel, um alle Zeilen zu löschen, die das Wort „Apple“ in den Dateifrüchten enthalten.TXT, Sie können den folgenden Befehl verwenden:

sed '/apple/d' Früchte.txt  

8. Löschen Sie Zeilen außer der passenden Zeichenfolge

Um die passenden Zeilen umzukehren, können Sie die verwenden ''!'' Operator in Kombination mit anderen Befehlen. Zum Beispiel, um alle Zeilen zu löschen, die das Wort „Apple“ in den Dateifrüchten enthalten.TXT, Sie können den folgenden Befehl verwenden:

sed '/apple/!D 'Früchte.txt  

9. Löschen Sie den Zeilenbereich

Um eine Reihe von Zeilen zu löschen, können Sie die verwenden StartLinEnumn, EndLineNumberd Befehl. Zum Beispiel zum Löschen von Zeilen 3 bis 5 der Datei zu löschen Früchte.txt, Sie können den folgenden Befehl verwenden:

sed '3,5d' Früchte.txt  

10. Löschen Sie leere Zeilen aus der Datei

Sie können die leeren Zeilen mithilfe der Datei entfernen '/^$/d' Möglichkeit.

sed '/^$/d' Früchte.txt  

Dieser Befehl betrachtet eine Zeile als leer, die keinen Charakter enthält, auch auch einen einzelnen Raum.

Druckleitungen aus der Datei mit SED

11. Nur Druckliniennummern

Um nur die Zeilennummern der übereinstimmenden Zeilen zu drucken, können Sie die verwenden '/muster/=' Befehl. Zum Beispiel, um die Zeilennummern aller Zeilen zu drucken, die das Wort „Apple“ in den Dateifrüchten enthalten.TXT, Sie können den folgenden Befehl verwenden:

sed '/apple/=' Früchte.txt  

12. Drucken Sie den Dateibereich drucken

Um eine Reihe von Zeilen zu drucken, können Sie die verwenden "Start, Endp" Befehle. Zum Beispiel, um die ersten 10 Zeilen der Dateifrüchte zu drucken.TXT, Sie können den folgenden Befehl verwenden:

sed -n '1,10p' Früchte.txt  

Einfügen von Linien zur Datei mit SED

13. Fügen Sie eine neue Zeile nach dem Matching -Muster ein

Um eine Linie nach einem bestimmten Muster einzufügen, können Sie die verwenden '/muster/a \ newline' ' Befehl. Zum Beispiel, um die Zeile „Trauben“ nach der Zeile einfügen, die das Wort „Apfel“ in den Dateifrüchten enthält.TXT, Sie können den folgenden Befehl verwenden:

sed '/apple/a \ grapes' Früchte.txt  

14. Fügen Sie eine neue Zeile vor, bevor Sie das Muster übereinstimmen

Um eine Linie vor einem bestimmten Muster einzulegen, können Sie die verwenden '/muster/i \ newline' ' Befehl. Zum Beispiel, um die Zeile „Trauben“ vor der Zeile einfügen, die das Wort „Apfel“ in den Dateifrüchten enthält.TXT, Sie können den folgenden Befehl verwenden:

sed '/apple/i \ grapes' Früchte.txt  

Andere Aufgaben mit SED

15. Ändern Sie den Fall von Zeichen

Um den Fall einer Zeichenfolge zu ändern, können Sie die verwenden 'y/alt/neu/' Befehl. Zum Beispiel, um alle Kleinbuchstaben in Großbuchstaben in den Dateifrüchten zu ändern.TXT, Sie können den folgenden Befehl verwenden:

SED 'Y/ABCDEFGHIJKLMNOPQRSTUVWXYZ.txt  

Abschluss

Wir hoffen, dass diese Beispiele hilfreich waren, um Ihnen die Vielseitigkeit des SED -Befehls zu zeigen. Denken Sie daran, dass SED ein sehr leistungsfähiges Tool ist und es wichtig ist, Ihre Befehle sorgfältig zu testen, bevor Sie sie auf wichtigen Dateien verwenden. Wenn Sie Fragen haben oder weitere Hilfe benötigen, zögern Sie nicht zu fragen. Mit diesen praktischen Beispielen sind Sie auf dem besten Weg, den SED -Befehl zu beherrschen und ein kompetenter Linux -Administrator zu werden.