Heim  >  Artikel  >  Betrieb und Instandhaltung  >  So ersetzen Sie den sed-Befehl unter Linux

So ersetzen Sie den sed-Befehl unter Linux

WBOY
WBOYOriginal
2022-02-25 16:24:2415346Durchsuche

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‘“.

So ersetzen Sie den sed-Befehl unter Linux

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Dell G3-Computer.

So ersetzen Sie den sed-Befehl unter Linux

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 &#39;2,5c No 2-5 number&#39;
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 &#39;s/要被取代的字串/新的字串/g&#39;

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 &#39;inet addr&#39; | sed &#39;s/^.*addr://g&#39;
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 &#39;inet addr&#39; | sed &#39;s/^.*addr://g&#39; | sed &#39;s/Bcast.*$//g&#39;
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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn