Heim > Artikel > Betrieb und Instandhaltung > So ersetzen Sie den sed-Befehl unter Linux
Methode: 1. Setzen Sie den Parameter „c“, auf c können Zeichenfolgen folgen, diese Zeichenfolgen können die angegebenen Zeilen ersetzen, die Syntax lautet „sed ‚Zeilennummer c Inhalt nach Ersetzung‘“; „Sie können die Ersetzungsarbeit direkt durchführen. Die Syntax lautet „sed 's/zu ersetzende Zeichenfolge/neue Zeichenfolge/g‘“.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.
Der Linux-sed-Befehl verwendet Skripte, um Textdateien zu verarbeiten.
sed kann Textdateien gemäß den Anweisungen des Skripts verarbeiten und bearbeiten.
Sed wird hauptsächlich verwendet, um eine oder mehrere Dateien automatisch zu bearbeiten, wiederholte Vorgänge an Dateien zu vereinfachen, Konvertierungsprogramme zu schreiben usw.
Syntax
sed [-hnV][-e<script>][-f<script文件>][文本文件]
Parameterbeschreibung:
-e3f1c4e4b6b16bbbd69b2ee476dc4f83a oder --expression=3f1c4e4b6b16bbbd69b2ee476dc4f83a Verarbeiten Sie die Eingabetextdatei mit dem in der Option angegebenen Skript.
-f8d9e20cf7980a42776913d042440355f oder --file=8d9e20cf7980a42776913d042440355f Verarbeiten Sie die Eingabetextdatei mit der in der Option angegebenen Skriptdatei.
-h oder --help zeigt Hilfe an.
-n oder --quiet oder --silent zeigt die Ergebnisse erst nach der Skriptverarbeitung an.
-V oder --version zeigt Versionsinformationen an.
Aktionsbeschreibung:
a: Hinzugefügt, a können von Zeichenfolgen gefolgt werden, und diese Zeichenfolgen werden in einer neuen Zeile angezeigt (derzeit die nächste Zeile) ~
c: Ersetzen, c kann gefolgt werden durch Strings, und diese Strings können die Zeilen zwischen n1 und n2 ersetzen!
d: Löschen, da es sich um eine Löschung handelt, daher folgt auf d normalerweise nichts;
i: Einfügen, i kann von Zeichenfolgen gefolgt werden, und diese Zeichenfolgen werden in einer neuen Zeile angezeigt ( Die aktuelle vorherige Zeile);
p: Drucken, das heißt, ausgewählte Daten ausdrucken. Normalerweise wird p zusammen mit dem Parameter sed -n~
s: replacement ausgeführt, Sie können die Ersetzungsarbeit direkt durchführen! Normalerweise kann diese Aktion mit der regulären Notation gepaart werden! Zum Beispiel 1,20s/alt/neu/g!
Das Beispiel sieht wie folgt aus:
Den Inhalt der Zeilen 2-5 durch „Nr. 2-5 Nummer“ ersetzen?
[root@www ~]# nl /etc/passwd | sed '2,5c No 2-5 number' 1 root:x:0:0:root:/root:/bin/bash No 2-5 number 6 sync:x:5:0:sync:/sbin:/bin/sync .....(后面省略).....
Neben dem gesamten Zeilenverarbeitungsmodus kann sed auch Teildaten in Verhaltenseinheiten suchen und ersetzen. Grundsätzlich sind die Suchvorgänge und Ersetzungen von sed denen von vi ziemlich ähnlich! Es sieht ungefähr so aus:
sed 's/要被取代的字串/新的字串/g'
Beobachten Sie zunächst die Originalinformationen und fragen Sie mit /sbin/ifconfig die IP ab
[root@www ~]# /sbin/ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:90:CC:A6:34:84 inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::290:ccff:fea6:3484/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 .....(以下省略).....
Die IP dieser Maschine ist 192.168.1.100.
Löschen Sie den Teil vor der IP
[root@www ~]# /sbin/ifconfig eth0 | grep 'inet addr' | sed 's/^.*addr://g' 192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
Der nächste Schritt besteht darin, den nachfolgenden Teil zu löschen, nämlich: 192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
Löschen Sie den Teil nach der IP
[root@www ~]# /sbin/ifconfig eth0 | grep 'inet addr' | sed 's/^.*addr://g' | sed 's/Bcast.*$//g' 192.168.1.100
Zugehörige Empfehlung: „Linux-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo ersetzen Sie den sed-Befehl unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!