SED -Befehl in Linux mit 15 praktischen Beispielen
- 1299
- 294
- Ilja Köpernick
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:
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.
- « Erste Schritte mit Linux -Befehlszeile zu Beginn
- Sortieren Sie den Befehl in Linux mit praktischen Beispielen »