Heim Betrieb und Instandhaltung Betrieb und Wartung von Linux Zusammenfassung der Verwendung des sed-Befehls unter Linux

Zusammenfassung der Verwendung des sed-Befehls unter Linux

Nov 15, 2021 pm 03:55 PM
linux sed

Zusammenfassung der Verwendung des sed-Befehls unter Linux

Sed-Befehl unter Linux:

1 Erste Einführung in sed

Der sed-Editor wird als Stream-Editor bezeichnet und unterscheidet sich von interaktiven Texteditoren wie vim . , das Daten im Datenstrom gemäß Befehlen verarbeitet. Die folgenden Vorgänge werden ausgeführt:

  • Eine Datenzeile nach der anderen aus der Eingabe lesen (diesen Vorgang wiederholen, bis alle Zeilen gelesen wurden)

  • Daten gemäß dem Editorbefehl abgleichen

  • Ändern Daten im Datenfluss entsprechend dem Befehl Data

  • Neue Daten an STDOUT ausgeben (Standardausgabe)

Der Befehl sed kann über die Befehlszeile eingegeben oder aus einer Befehlsdatei gelesen werden.

sed -e script 添加script中指定的命令
sed -f file 添加file中指定的命令
Nach dem Login kopieren

1.1 Definieren Sie den sed-Befehl in der Befehlszeile [Empfohlenes Lernen: Linux-Video-Tutorial]

Schauen wir uns ein einfaches Textersetzungsbeispiel an:

echo "hi,my name is xxx" | sed 's/xxx/kinsomy/'
#修改文件
sed 's/xxx/kinsomy/' data.txt
#执行多个命令 用-e选项,分号隔开
sed 's/xxx/kinsomy/; s/***/hhh/' data.txt
Nach dem Login kopieren

Geben Sie die Echo-Ausgabedaten über die Pipe in sed ein und Verwenden Sie dann den Befehl „Ersetzen“ und ersetzen Sie die übereinstimmenden Daten nach dem ersten Schrägstrich durch die Daten nach dem zweiten Schrägstrich.

Hinweis: sed verarbeitet die Daten in der Textdatei und gibt nur die geänderten Daten an STDOUT aus, ändert jedoch nicht die Daten der Datei selbst.

1.2 Lesebefehl aus Datei

ist in einer Datei script.sed A-Serie definiert von Befehlen zur einfachen Wiederverwendung.

s/*/a
s/x/b
s/-/+
Nach dem Login kopieren

# -f选项指定命令文件
sed -f script.sed data.txt
Nach dem Login kopieren

2 sed-Grundlagen

2.1 Ersetzungs-Tags

Das obige Beispiel echo „hi,my name is xxx“ |. Wenn es jedoch mehrere Übereinstimmungen in einer Datenzeile gibt, können nicht alle ersetzt werden.

echo "hi,my name is xxx, i am xxx" | sed 's/xxx/kinsomy/'
#输出
hi,my name is kinsomy, i am xxx
Nach dem Login kopieren

Zu diesem Zeitpunkt können Sie einige Substitutionsflags verwenden, um den Substitutionsmodus festzulegen. Das Ersatztoken folgt der Ersatzzeichenfolge.

s/pattern/replacement/flags
Nach dem Login kopieren

Zahl, die angibt, bei welcher übereinstimmenden Daten ersetzt wird

echo "hi,my name is xxx, i am xxx" | sed 's/xxx/kinsomy/2'
#输出 第二个xxx被替换成kinsomy
hi,my name is xxx, i am kinsomy
Nach dem Login kopieren

g, die angibt, dass alle übereinstimmenden Daten ersetzt werden

echo "hi,my name is xxx, i am xxx" | sed 's/xxx/kinsomy/g'
#输出 第二个xxx被替换成kinsomy
hi,my name is kinsomy, i am kinsomy
Nach dem Login kopieren

p, die angibt, dass übereinstimmende Zeilen gedruckt werden

echo "hi,my name is xxx, i am xxx" | sed 's/xxx/kinsomy/p'
#输出
hi,my name is kinsomy, i am xxx
hi,my name is kinsomy, i am xxx
Nach dem Login kopieren
w,将替换后输出保存到指定文件
echo "hi,my name is xxx, i am xxx" | sed 's/xxx/kinsomy/w output.txt'
Nach dem Login kopieren

2.3 Leitungsadressierung

Wie oben erwähnt, der Befehl sed Liest Text Zeile für Zeile und gleicht die Daten ab, bis alle Zeilen durchlaufen wurden. Wenn wir zu diesem Zeitpunkt eine bestimmte Zeile bearbeiten möchten, müssen wir die Zeilenadressierung verwenden. Es gibt zwei Formen der Zeilenadressierung:

Die numerische Form stellt die Zeile dar

# 操作单行
$ sed '2s/xxx/***/' data.txt
# 操作一定行区间[2,4]
$ sed '2,4s/xxx/***/' data.txt
# 操作某行开始到最后[2,endline]
$ sed '2,$s/xxx/***/' data.txt
Nach dem Login kopieren

Textmodusfilter

Suchen Sie zuerst den Datensatz von Kinsomy in /etc/passwd und ersetzen Sie dann bash durch csh. Textmusterfilter können in Kombination mit regulären Ausdrücken sehr leistungsstark sein.

sed '/kinsomy/s/bash/csh/' /etc/passwd
Nach dem Login kopieren

2.4 Zeilen löschen

Verwenden Sie den Löschbefehl d, um den Text zu löschen.

# 删除所有文本
sed 'd' data.txt
# 删除单行
sed '2d' data.txt
# 删除行区间[2,3]
sed '2,3d' data.txt
# 删除行区间[2,endline]
sed '2,$d' data.txt
# 删除匹配文本aa的行
sed '/aa/d' data.txt
# 删除两个匹配文本之间的文本 匹配到1和3的行之间的文本全部被删除
sed '/1/,/3/d' data.txt
Nach dem Login kopieren

2.5 Text einfügen und anhängen

Einfügebefehl i fügt eine neue Zeile vor der angegebenen Zeile hinzu

Anhängebefehl a fügt eine neue Zeile nach der angegebenen Zeile hinzu

# 追加
echo "Line 2" | sed 'a\
pipe quote> Line 1'
#插入
echo "Line 2" | sed 'i\
pipe quote> Line 1'
Nach dem Login kopieren

2.6 Zeile ändern

c-Befehl wird zum Ändern einer Zeile verwendet von Daten

# 修改第三行文本
sed '3c\
pipe quote> change line ' data.txt
Nach dem Login kopieren

2.7 Konvertierungsbefehl

Befehlsformat sed 'y/inchar/outchar'

Konvertieren Sie die Zeichen in Inchar nacheinander in Outchar-Zeichen.

echo "This 1 is a test of 1 try." | sed 'y/123/456/'
# 输出
This 4 is a test of 4 try.
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonZusammenfassung der Verwendung des sed-Befehls unter Linux. 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
3 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

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

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

See all articles