


Ausführliche Erläuterung der Beispielcodefreigabe für den Befehl sed unter Linux
Einführung
sed ist ein Online-Editor, der Inhalte Zeile für Zeile verarbeitet. Während der Verarbeitung wird die aktuell verarbeitete Zeile in einem temporären Puffer gespeichert, der als „Musterraum“ bezeichnet wird. Anschließend wird der Befehl sed verwendet, um den Inhalt des Puffers zu verarbeiten. Nach Abschluss der Verarbeitung wird der Inhalt des Puffers an gesendet Bildschirm. Verarbeiten Sie dann die nächste Zeile und wiederholen Sie den Vorgang bis zum Ende der Datei. Der Dateiinhalt wird nicht geändert, es sei denn, Sie verwenden eine Umleitung zum Speichern der Ausgabe. Sed wird hauptsächlich zum automatischen Bearbeiten einer oder mehrerer Dateien verwendet.
sed verwendet Parameter
[root@www ~]# sed [-nefr] [动作]
Optionen und Parameter:
-n: Silent-Modus verwenden. Bei normaler sed-Nutzung werden normalerweise alle von STDIN kommenden Daten im Terminal aufgelistet. Wenn jedoch der Parameter -n hinzugefügt wird, werden nur die von sed speziell verarbeiteten Zeilen (oder Aktionen) aufgelistet.
-e: Sed-Aktionen direkt im Befehlszeilenmodus bearbeiten;
-f: Sed-Aktionen direkt in eine Datei schreiben, -f Datei Name, den Sie ausführen können sed-Aktion im Dateinamen;
-r: sed-Aktion unterstützt erweiterte reguläre Notationssyntax. (Die Standardeinstellung ist die grundlegende reguläre Notationssyntax)
-i: Ändern Sie den Inhalt der gelesenen Datei direkt, anstatt ihn an das Terminal auszugeben.
Aktionsbeschreibung: [n1[,n2]]Funktion
n1, n2: dürfen nicht vorhanden sein, stellen im Allgemeinen „Wählen Sie die Anzahl der Zeilen für die Aktion“ dar, z. B. wenn meine Die Aktion muss zwischen 10 und 20 Zeilen ausgeführt werden, dann 『10,20[AktionVerhalten]』
Funktion:
a:neu , Auf a können Zeichenfolgen folgen, und diese Zeichenfolgen werden in einer neuen Zeile (der aktuellen nächsten Zeile) angezeigt. ~
c: Stattdessen können auf c Zeichenfolgen folgen, und diese Zeichenfolgen können die Zeilen zwischen n1 und ersetzen n2!
d: Löschen, da es sich um eine Löschung handelt, daher folgt auf d normalerweise kein Dong Dong;
i: Einfügen, auf i kann eine Zeichenfolge folgen, und Diese Zeichenfolgen werden in einer neuen Zeile (der aktuellen vorherigen Zeile) angezeigt.
p: Drucken, d. h. 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 einer regulären Notation gepaart werden! Zum Beispiel 1,20s/alt/neu/g Das ist alles!
In Zeileneinheiten hinzufügen/löschen
Listen Sie den Inhalt von /etc/passwd auf und drucken Sie die Zeilennummer aus. Löschen Sie gleichzeitig die Zeilen 2 bis 5!
[root@www ~]# nl /etc/passwd | sed '2,5d' 1 root:x:0:0:root:/root:/bin/bash 6 sync:x:5:0:sync:/sbin:/bin/sync 7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown .....(后面省略).....
Die Aktion von sed ist '2,5d', d ist Löschung! Da er die Zeilen 2-5 gelöscht hat, enthalten die angezeigten Daten die Zeilen 2-5 nicht ~ Bitte beachten Sie außerdem, dass Sie ursprünglich sed -e hätten ausgeben sollen, es funktioniert jedoch ohne -e! Gleichzeitig ist auch zu beachten, dass die auf sed folgenden Aktionen in zwei einfache Anführungszeichen gesetzt werden müssen ''!
Einfach die 2. Zeile löschen
nl /etc/passwd | sed '2d'
So löschen Sie die dritte bis letzte Zeile
nl /etc/passwd | sed '3,$d'
Nach der zweiten Zeile (d. h. fügen Sie sie zur dritten hinzu). Zeile ) plus die Worte „Neuer Zeilentext?“!
[root@www ~]# nl /etc/passwd | sed '2a new line text' 1 root:x:0:0:root:/root:/bin/bash 2 bin:x:1:1:bin:/bin:/sbin/nologin new line text 3 daemon:x:2:2:daemon:/sbin:/sbin/nologin .....(后面省略).....
Wenn Sie dann ersetzen und in Zeileneinheiten vor der zweiten Zeile anzeigen möchten
nl /etc/passwd | sed '2i new line text'
ersetzen Sie den Inhalt der Zeilen 2-5 durch „Was ist mit“. „Keine 2-5 Nummer“?
[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 .....(后面省略).....
Mit dieser Methode können wir die gesamte Datenzeile ersetzen!
Nur die Zeilen 5-7 in der Datei /etc/passwd auflisten
[root@www ~]# nl /etc/passwd | sed -n '5,7p' 5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin 6 sync:x:5:0:sync:/sbin:/bin/sync 7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
Sie können die zeilenweise Anzeigefunktion von sed verwenden, um den Inhalt einer bestimmten Datei aufzulisten. Bestimmt Zeilennummern werden zur Anzeige ausgewählt.
Daten suchen und anzeigen
Suchen Sie /etc/passwd nach Zeilen mit dem Root-Schlüsselwort
nl /etc/passwd | sed '/root/p' 1 root:x:0:0:root:/root:/bin/bash 1 root:x:0:0:root:/root:/bin/bash 2 daemon:x:1:1:daemon:/usr/sbin:/bin/sh 3 bin:x:2:2:bin:/bin:/bin/sh 4 sys:x:3:3:sys:/dev:/bin/sh 5 sync:x:4:65534:sync:/bin:/bin/sync ....下面忽略
Wenn Root gefunden wird, außer allen Zeilen ausgeben , werden auch passende Zeilen ausgegeben.
Bei Verwendung von -n werden nur die Zeilen gedruckt, die die Vorlage enthalten.
nl /etc/passwd | sed -n '/root/p' 1 root:x:0:0:root:/root:/bin/bash
Daten suchen und löschen
Alle Zeilen löschen, die root in /etc/passwd enthalten, und andere Zeilen ausgeben
nl /etc/passwd | sed '/root/d' 2 daemon:x:1:1:daemon:/usr/sbin:/bin/sh 3 bin:x:2:2:bin:/bin:/bin/sh ....下面忽略 #第一行的匹配root已经删除了
Befehle für Daten suchen und ausführen
Nachdem Sie die Zeile gefunden haben, die dem Muster Eastern entspricht,
durchsuchen Sie /etc/passwd, suchen Sie die Zeile, die root entspricht, und führen Sie eine Reihe von Befehlen in geschweiften Klammern aus, wobei jeder Befehl durch ein Semikolon getrennt ist. Ersetzen Sie hier bash durch blueshell und geben Sie dann diese Zeile aus:
nl /etc/passwd | sed -n '/root/{s/bash/blueshell/;p}' 1 root:x:0:0:root:/root:/bin/blueshell
Wenn Sie nur das erste Bash-Schlüsselwort von /etc/passwd durch blueshell ersetzen, exit
nl /etc/passwd | sed -n '/bash/{s/bash/blueshell/;p;q}' 1 root:x:0:0:root:/root:/bin/blueshell
Das letzte Q dient zum Beenden.
Daten suchen und ersetzen
Neben dem gesamten Zeilenverarbeitungsmodus kann sed auch Teildaten mithilfe von Zeileneinheiten 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/string to be replacement/new string/g'
Beobachten Sie zunächst die Originalinformationen und verwenden Sie /sbin/if config Abfrage IP
[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 .....(以下省略).....
本机的ip是192.168.1.100。
将 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
接下来则是删除后续的部分,亦即: 192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
将 IP 后面的部分予以删除
[root@www ~]# /sbin/ifconfig eth0 | grep 'inet addr' | sed 's/^.*addr://g' | sed 's/Bcast.*$//g' 192.168.1.100
多点编辑
一条sed命令,删除/etc/passwd第三行到末尾的数据,并把bash替换为blueshell
nl /etc/passwd | sed -e '3,$d' -e 's/bash/blueshell/'
1 root:x:0:0:root:/root:/bin/blueshell
2 daemon:x:1:1:daemon:/usr/sbin:/bin/sh
-e表示多点编辑,第一个编辑命令删除/etc/passwd第三行到末尾的数据,第二条命令搜索bash替换为blueshell。
直接修改文件内容(危险动作)
sed 可以直接修改文件的内容,不必使用管道命令或数据流重导向! 不过,由於这个动作会直接修改到原始的文件,所以请你千万不要随便拿系统配置来测试! 我们还是使用下载的 regular_express.txt 文件来测试看看吧!
利用 sed 将 regular_express.txt 内每一行结尾若为 . 则换成 !
[root@www ~]# sed -i 's/\.$/\!/g' regular_express.txt
利用 sed 直接在 regular_express.txt 最后一行加入『# This is a test』
[root@www ~]# sed -i '$a # This is a test' regular_express.txt
由于 $ 代表的是最后一行,而 a 的动作是新增,因此该文件最后新增『# This is a test』!
sed 的『 -i 』选项可以直接修改文件内容,这功能非常有帮助!举例来说,如果你有一个 100 万行的文件,你要在第 100 行加某些文字,此时使用 vim 可能会疯掉!因为文件太大了!那怎办?就利用 sed 啊!透过 sed 直接修改/取代的功能,你甚至不需要使用 vim 去修订!
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Beispielcodefreigabe für den Befehl sed unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Die wichtigsten Unterschiede zwischen CentOS und Ubuntu sind: Ursprung (CentOS stammt von Red Hat, für Unternehmen; Ubuntu stammt aus Debian, für Einzelpersonen), Packungsmanagement (CentOS verwendet yum, konzentriert sich auf Stabilität; Ubuntu verwendet apt, für hohe Aktualisierungsfrequenz), Support Cycle (Centos) (CENTOS bieten 10 Jahre. Tutorials und Dokumente), Verwendungen (CentOS ist auf Server voreingenommen, Ubuntu ist für Server und Desktops geeignet). Weitere Unterschiede sind die Einfachheit der Installation (CentOS ist dünn)

CentOS -Installationsschritte: Laden Sie das ISO -Bild herunter und verbrennen Sie bootfähige Medien. Starten und wählen Sie die Installationsquelle; Wählen Sie das Layout der Sprache und Tastatur aus. Konfigurieren Sie das Netzwerk; Partition die Festplatte; Setzen Sie die Systemuhr; Erstellen Sie den Root -Benutzer; Wählen Sie das Softwarepaket aus; Starten Sie die Installation; Starten Sie nach Abschluss der Installation von der Festplatte neu und starten Sie von der Festplatte.

CentOS wird 2024 geschlossen, da seine stromaufwärts gelegene Verteilung RHEL 8 geschlossen wurde. Diese Abschaltung wirkt sich auf das CentOS 8 -System aus und verhindert, dass es weiterhin Aktualisierungen erhalten. Benutzer sollten eine Migration planen, und empfohlene Optionen umfassen CentOS Stream, Almalinux und Rocky Linux, um das System sicher und stabil zu halten.

Backup- und Wiederherstellungsrichtlinie von GitLab im Rahmen von CentOS -System Um die Datensicherheit und Wiederherstellung der Daten zu gewährleisten, bietet GitLab on CentOS eine Vielzahl von Sicherungsmethoden. In diesem Artikel werden mehrere gängige Sicherungsmethoden, Konfigurationsparameter und Wiederherstellungsprozesse im Detail eingeführt, um eine vollständige GitLab -Sicherungs- und Wiederherstellungsstrategie aufzubauen. 1. Manuell Backup Verwenden Sie den GitLab-RakegitLab: Backup: Befehl erstellen, um die manuelle Sicherung auszuführen. Dieser Befehl unterstützt wichtige Informationen wie GitLab Repository, Datenbank, Benutzer, Benutzergruppen, Schlüssel und Berechtigungen. Die Standardsicherungsdatei wird im Verzeichnis/var/opt/gitlab/backups gespeichert. Sie können /etc /gitlab ändern

Docker verwendet Linux -Kernel -Funktionen, um eine effiziente und isolierte Anwendungsumgebung zu bieten. Sein Arbeitsprinzip lautet wie folgt: 1. Der Spiegel wird als schreibgeschützte Vorlage verwendet, die alles enthält, was Sie für die Ausführung der Anwendung benötigen. 2. Das Union File System (UnionFS) stapelt mehrere Dateisysteme, speichert nur die Unterschiede, speichert Platz und beschleunigt. 3. Der Daemon verwaltet die Spiegel und Container, und der Kunde verwendet sie für die Interaktion. 4. Namespaces und CGroups implementieren Container -Isolation und Ressourcenbeschränkungen; 5. Mehrere Netzwerkmodi unterstützen die Containerverbindung. Nur wenn Sie diese Kernkonzepte verstehen, können Sie Docker besser nutzen.

CentOS -Festplattenhalterung ist in die folgenden Schritte unterteilt: Bestimmen Sie den Namen der Festplattengeräte (/dev/sdx); Erstellen Sie einen Mountspunkt (es wird empfohlen, /mnt /newDisk zu verwenden). Führen Sie den Befehl montage (mont /dev /sdx1 /mnt /newdisk) aus; Bearbeiten Sie die Datei /etc /fstab, um eine permanente Konfiguration des Montings hinzuzufügen. Verwenden Sie den Befehl uMount, um das Gerät zu deinstallieren, um sicherzustellen, dass kein Prozess das Gerät verwendet.

Wie benutze ich Docker Desktop? Docker Desktop ist ein Werkzeug zum Ausführen von Docker -Containern auf lokalen Maschinen. Zu den zu verwendenden Schritten gehören: 1.. Docker Desktop installieren; 2. Start Docker Desktop; 3.. Erstellen Sie das Docker -Bild (mit Dockerfile); 4. Build Docker Image (mit Docker Build); 5. Docker -Container ausführen (mit Docker Run).

CentOS wurde eingestellt, Alternativen umfassen: 1. Rocky Linux (beste Kompatibilität); 2. Almalinux (kompatibel mit CentOS); 3. Ubuntu Server (Konfiguration erforderlich); 4. Red Hat Enterprise Linux (kommerzielle Version, bezahlte Lizenz); 5. Oracle Linux (kompatibel mit CentOS und RHEL). Bei der Migration sind Überlegungen: Kompatibilität, Verfügbarkeit, Unterstützung, Kosten und Unterstützung in der Gemeinde.
