Heim System-Tutorial LINUX Einführung: Erfahren Sie, wie Sie sed in den Grundlagen von LFCS verwenden

Einführung: Erfahren Sie, wie Sie sed in den Grundlagen von LFCS verwenden

Jan 09, 2024 am 08:50 AM
linux linux教程 红帽 linux系统 linux命令 Linux-Zertifizierung Red Hat Linux Linux-Video

Einführung Ein weiterer nützlicher Befehl für Linux Foundation Certified System Administrators (LFCS) ist „sed“, was ursprünglich für „Streaming Editor“ stand.

Der Befehl „sed“ ist ein Editor, der Dateien als Streams bearbeiten kann. Der Weg, eine Datei zu streamen, besteht darin, sie von einem anderen Befehl weiterzuleiten (> oder |) oder sie direkt in „sed“ zu laden.

Dieser Befehl funktioniert genauso wie andere Editoren, außer dass die Dateien nicht angezeigt werden und eine visuelle Bearbeitung nicht zulässig ist. Befehle werden an „sed“ übergeben, um den Stream zu manipulieren.

Es gibt fünf grundlegende Dinge, die Sie mit „sed“ tun können. Natürlich ist „sed“ sehr leistungsstark und verfügt über weitere erweiterte Funktionen, aber Sie müssen sich nur auf fünf grundlegende Dinge konzentrieren. Die fünf Funktionstypen sind wie folgt:
Suchen
Ersetzen Sie
Löschen

hinzufügen verändern/transformieren
Bevor wir uns mit den Befehlsparametern befassen, müssen wir uns die grundlegende Syntax ansehen.

Grammatik

Die Syntax des Befehls „sed“ lautet:

sed [选项] 命令 [要编辑的文件]
Nach dem Login kopieren

Diese „Optionen“ werden in diesem Artikel in den entsprechenden Abschnitten behandelt. Ein „Befehl“ kann ein Such- und Ersetzungsmuster für reguläre Ausdrücke sein. Lesen Sie weiter, um zu erfahren, wie „sed“ funktioniert und grundlegende Befehle erlernt. Wie ich bereits erwähnt habe, ist „sed“ ein sehr leistungsfähiges Tool mit vielen weiteren verfügbaren Optionen, die ich in diesem Artikel behandeln werde.

Beispieldateien

Wenn Sie ein Terminal öffnen, können Sie eine Datei für das „sed“-Beispiel erstellen. Führen Sie den folgenden Befehl aus:

cd ~
grep --help >grephelp.txt
Nach dem Login kopieren

Sie sollten jetzt eine Datei namens grephelp.txt in Ihrem HOME-Ordner haben. Der Inhalt dieser Datei sind Hilfeanweisungen für den Befehl grep.

Suchen

Die Suche nach einer bestimmten Zeichenfolge ist eine häufige Funktion von Editoren, und die Durchführung einer Suche in „sed“ ist keine Ausnahme.

Führen Sie eine Suche durch, um Zeichenfolgen in Dateien zu finden. Werfen wir einen Blick auf eine einfache Suche.

Wenn wir in der Beispieldatei nach dem Wort PATTERN suchen wollten, würden wir den folgenden Befehl verwenden:

sed -n 's/PATTERN/PATTERN/p' grephelp.txt
Nach dem Login kopieren

Hinweis: Wenn Sie den Befehl ausschneiden und einfügen, achten Sie darauf, die einfachen Anführungszeichen durch die standardmäßigen einfachen Anführungszeichen auf Ihrer Tastatur zu ersetzen.

Der Parameter -n wird verwendet, um das automatische Drucken jeder Zeile zu unterdrücken (mit Ausnahme der mit dem p-Befehl angegebenen Zeile). Standardmäßig wird jede in „sed“ eingegebene Zeile auf der Standardausgabe (stdout) gedruckt. Wenn Sie den obigen Befehl ohne die Option „-n“ ausführen, sehen Sie jede Zeile der Originaldatei zusammen mit den entsprechenden Zeilen.

Der zu durchsuchende Dateiname lautet „grephelp.txt“, den wir im Abschnitt „Beispieldateien“ erstellt haben.

Der verbleibende Teil ist 's/PATTERN/PATTERN/p'. Dieser Abschnitt ist grundsätzlich in vier Teile gegliedert. Der erste Teil von s gibt an, dass ein Ersetzen oder Suchen und Ersetzen durchgeführt werden soll.

Der verbleibende zweite und dritte Teil sind Muster. Das erste ist das Muster, nach dem gesucht werden soll, und das letzte ist das Muster, das mit der Zeichenfolge im Ersetzungsstream übereinstimmt. In diesem Beispiel suchen wir die Zeichenfolge PATTERN und ersetzen sie durch PATTERN. Durch das Suchen und Ersetzen derselben Zeichenfolge ändern wir die Datei überhaupt nicht, nicht einmal auf dem Bildschirm.

Der letzte Befehl ist p. Es gibt an, dass nach dem Ersetzen eine neue Zeile gedruckt wird. Da die gleiche Zeichenfolge ersetzt wird, ändert sich natürlich nichts. Da wir das Drucken von Zeilen mit dem Parameter -n unterdrückt haben, werden die geänderten Zeilen mit dem Befehl p gedruckt.

Mit diesem vollständigen Befehl können wir eine Suche durchführen und passende Ergebnisse anzeigen.

Ersatz

Wenn Sie nach einer bestimmten Zeichenfolge suchen, möchten Sie möglicherweise die neue Zeichenfolge durch die passende Zeichenfolge ersetzen. Das Ersetzen einer Zeichenfolge durch eine andere ist ein sehr häufiger Vorgang.

Wir können die gleiche Suche mit dem folgenden Befehl durchführen:

sed -n 's/PATTERN/Pattern/p' grephelp.txt
Nach dem Login kopieren

Zu diesem Zeitpunkt ändert sich die Zeichenfolge „PATTERN“ in „Pattern“ und wird angezeigt. Wenn Sie die Datei mit dem Befehl cat grephelp.txt anzeigen, werden Sie feststellen, dass sich die Datei nicht geändert hat. Diese Änderung betrifft nur die Ausgabe auf dem Bildschirm. Sie können die Ausgabe wie folgt in eine andere Datei weiterleiten:

sed 's/PATTERN/Pattern/' grephelp.txt > grephelp1.txt
Nach dem Login kopieren

Es existiert nun eine neue Datei mit dem Namen grephelp1.txt, in der die geänderte Datei gespeichert ist. Wenn p als vierte Option übrig bleibt, besteht das Problem darin, dass jede Zeile der ersetzten Zeichenfolge in der Datei zweimal wiederholt wird. Wir können auch den Parameter „-n“ entfernen, um das Drucken aller Zeilen zu ermöglichen.

Eine andere Möglichkeit, Zeichenfolgen durch dieselbe Zeichenfolge zu ersetzen, besteht darin, das &-Symbol zur Darstellung der Suchzeichenfolge zu verwenden. Den gleichen Effekt hat beispielsweise der Befehl s/PATTERN/&/p. Wir können eine Zeichenfolge hinzufügen, um beispielsweise S hinzuzufügen, können wir den Befehl s/PATTERN/&S/p verwenden.

Was wäre, wenn wir in jeder Zeile nur ein bestimmtes Muster ersetzen möchten? Sie können bestimmte Vorkommen von Übereinstimmungen angeben, die ersetzt werden sollen. Natürlich ist die Ersetzung jeder Zeile eine bestimmte Zahl. Die Beispieldatei enthält beispielsweise viele Bindestriche. Einige Zeilen haben mindestens zwei Bindestriche, sodass wir den zweiten Bindestrich in jeder Zeile durch ein anderes Zeichen ersetzen können. Der Befehl zum Ersetzen des zweiten Bindestrichs durch ein Sternchen * in jeder Zeile wäre:

sed 's/-/*/2' grephelp.txt
Nach dem Login kopieren

Hier verwenden wir die Originale, um den Austausch durchzuführen. Zeichen - werden durch * ersetzt. 2 bedeutet, dass wir die zweite ersetzen möchten – in jeder Zeile, falls vorhanden. Wenn wir Befehl 2 weglassen, wird das erste Vorkommen des Bindestrichs ersetzt. Anstelle von Bindestrichen wird in jeder Zeile nur der erste Bindestrich ersetzt.

Wenn Sie alle Bindestriche in einer Zeile suchen und durch ein Sternchen ersetzen möchten, verwenden Sie den g-Befehl:

sed 's/-/*/g' grephelp.txt
Nach dem Login kopieren

Befehle können auch kombiniert werden. Angenommen, Sie möchten die Bindestriche ersetzen, die ab dem zweiten Mal erscheinen, der Befehl wäre:

sed 's/-/*/2g' grephelp.txt
Nach dem Login kopieren

现在从第二个开始出现的破折号将被星号取代。

删除

搜索过程中有很多时候你可能想要完全删除搜索字符串。

例如,如果要从文件中删除所有破折号,你可以使用以下命令:

sed 's/-//g' grephelp.txt
Nach dem Login kopieren

替换字符串为空白,因此匹配的字符串将被删除。

添加

当找到匹配时,你可以添加一行特定的文本,来使这行在浏览或打印中突出。

如果要在匹配后插入新行,那么使用 a 命令,后面跟上新行的字符串。还包括要匹配的字符串。例如,我们可以找到一个 --,并在匹配的行之后添加一行。新行的字符串将是 double dash before this line。

sed '/--/ a "double dash before this line"' grephelp.txt
Nach dem Login kopieren

如果要在包含匹配字符串的行之前加上这行,请使用 i 命令,如下所示:

sed '/--/ i "double dash after this line"' grephelp.txt
Nach dem Login kopieren
改变/变换

如果需要改变/变换一行,则可以使用命令 c。

假设我们有个有一些私人信息的文档,我们需要更改包含特定字符串的行。c 命令将改变整行,而不仅仅是搜索字符串。

假设我们想要阻止示例文件中包含单词 PATTERN 的每一行。更改的行将显示为 This line is Top Secret。命令是:

sed '/PATTERN/ c This line is Top Secret' grephelp.txt
Nach dem Login kopieren

可以进行更改特定字母的大小写的转换。例如,我们可以使用命令 y 将所有小写 a 更改为大写 A,如下所示:

sed 'y/a/A/' grephelp.txt
Nach dem Login kopieren

可以指定多个字母,如 abdg,如下命令所示:

sed 'y/abdg/ABDG/' grephelp.txt
Nach dem Login kopieren

确保第二组字母与第一组字母的顺序相同,否则会被替换和转换。例如,字符串 y/a/D/ 将用大写 D 替换所有小写的 a。

就地更改

如果你确实要更改所使用的文件,请使用 -i 选项。

例如,要将 PATTERN 改为 Pattern,并对文件进行更改,则命令为:

sed -i 's/PATTERN/Pattern/' grephelp.txt
Nach dem Login kopieren

现在文件 grephelp.txt 将被更改。-i 选项可以与上述任何命令一起使用来更改原始文件的内容。

练习这些命令,并确保你理解它们。“sed” 命令非常强大。

(题图:Pixabay,CC0)

Das obige ist der detaillierte Inhalt vonEinführung: Erfahren Sie, wie Sie sed in den Grundlagen von LFCS verwenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie löste ich Berechtigungsprobleme bei der Verwendung von Python -Verssionsbefehl im Linux Terminal? Wie löste ich Berechtigungsprobleme bei der Verwendung von Python -Verssionsbefehl im Linux Terminal? Apr 02, 2025 am 06:36 AM

Verwenden Sie Python im Linux -Terminal ...

Vier Möglichkeiten zur Implementierung von Multithreading in C -Sprache Vier Möglichkeiten zur Implementierung von Multithreading in C -Sprache Apr 03, 2025 pm 03:00 PM

Multithreading in der Sprache kann die Programmeffizienz erheblich verbessern. Es gibt vier Hauptmethoden, um Multithreading in C -Sprache zu implementieren: Erstellen Sie unabhängige Prozesse: Erstellen Sie mehrere unabhängig laufende Prozesse. Jeder Prozess hat seinen eigenen Speicherplatz. Pseudo-MultitHhreading: Erstellen Sie mehrere Ausführungsströme in einem Prozess, der denselben Speicherplatz freigibt und abwechselnd ausführt. Multi-Thread-Bibliothek: Verwenden Sie Multi-Thread-Bibliotheken wie PThreads, um Threads zu erstellen und zu verwalten, wodurch reichhaltige Funktionen der Thread-Betriebsfunktionen bereitgestellt werden. Coroutine: Eine leichte Multi-Thread-Implementierung, die Aufgaben in kleine Unteraufgaben unterteilt und sie wiederum ausführt.

So öffnen Sie Web.xml So öffnen Sie Web.xml Apr 03, 2025 am 06:51 AM

Um eine Web.xml -Datei zu öffnen, können Sie die folgenden Methoden verwenden: Verwenden Sie einen Texteditor (z.

Kann der Python -Dolmetscher im Linux -System gelöscht werden? Kann der Python -Dolmetscher im Linux -System gelöscht werden? Apr 02, 2025 am 07:00 AM

In Bezug auf das Problem der Entfernung des Python -Dolmetschers, das mit Linux -Systemen ausgestattet ist, werden viele Linux -Verteilungen den Python -Dolmetscher bei der Installation vorinstallieren, und verwendet den Paketmanager nicht ...

Wofür wird der Linux am besten verwendet? Wofür wird der Linux am besten verwendet? Apr 03, 2025 am 12:11 AM

Linux wird am besten als Serververwaltung, eingebettete Systeme und Desktop -Umgebungen verwendet. 1) In der Serververwaltung wird Linux verwendet, um Websites, Datenbanken und Anwendungen zu hosten und Stabilität und Zuverlässigkeit bereitzustellen. 2) In eingebetteten Systemen wird Linux aufgrund seiner Flexibilität und Stabilität in Smart Home und Automotive Electronic Systems häufig verwendet. 3) In der Desktop -Umgebung bietet Linux reichhaltige Anwendungen und eine effiziente Leistung.

Wie ist Debian Hadoop -Kompatibilität? Wie ist Debian Hadoop -Kompatibilität? Apr 02, 2025 am 08:42 AM

Debianlinux ist bekannt für seine Stabilität und Sicherheit und wird in Server-, Entwicklungs- und Desktop -Umgebungen häufig verwendet. Während es derzeit einen Mangel an offiziellen Anweisungen zur direkten Kompatibilität mit Debian und Hadoop gibt, wird dieser Artikel Sie dazu veranlassen, Hadoop in Ihrem Debian -System bereitzustellen. Debian -Systemanforderungen: Bevor Sie mit der Hadoop -Konfiguration beginnen, stellen Sie bitte sicher, dass Ihr Debian -System die Mindestanforderungen von Hadoop erfüllt, einschließlich der Installation der erforderlichen Java -Laufzeitumgebung (JRE) und Hadoop -Pakete. Schritte zur Bereitstellung von Hadoop -Bereitstellungen: Download und Unzip Hadoop: Laden Sie die Hadoop -Version von der offiziellen Apachehadoop -Website herunter und lösen Sie sie

Muss ich einen Oracle -Client installieren, wenn ich mit GO eine Verbindung zu einer Oracle -Datenbank herstellen kann? Muss ich einen Oracle -Client installieren, wenn ich mit GO eine Verbindung zu einer Oracle -Datenbank herstellen kann? Apr 02, 2025 pm 03:48 PM

Muss ich einen Oracle -Client installieren, wenn ich mit GO eine Verbindung zu einer Oracle -Datenbank herstellen kann? Bei der Entwicklung in Go ist die Verbindung zu Oracle -Datenbanken eine übliche Anforderung ...

Ist Debian Strings kompatibel mit mehreren Browsern Ist Debian Strings kompatibel mit mehreren Browsern Apr 02, 2025 am 08:30 AM

"DebianStrings" ist kein Standardbegriff und seine spezifische Bedeutung ist noch unklar. Dieser Artikel kann seine Browserkompatibilität nicht direkt kommentieren. Wenn sich jedoch "DebianStrings" auf eine Webanwendung bezieht, die auf einem Debian -System ausgeführt wird, hängt seine Browserkompatibilität von der technischen Architektur der Anwendung selbst ab. Die meisten modernen Webanwendungen sind für die Kompatibilität des Cross-Browsers verpflichtet. Dies beruht auf den folgenden Webstandards und der Verwendung gut kompatibler Front-End-Technologien (wie HTML, CSS, JavaScript) und Back-End-Technologien (wie PHP, Python, Node.js usw.). Um sicherzustellen, dass die Anwendung mit mehreren Browsern kompatibel ist, müssen Entwickler häufig Kreuzbrowser-Tests durchführen und die Reaktionsfähigkeit verwenden

See all articles