Vi / VIM Befehl zum Ersetzen und Ersetzen aller Texte

Ich bin ein neuer Linux-Benutzer. Ich fing an, den Texteditor vim oder vi zu verwenden. Wie finde ich das gesamte Vorkommen des Wortes „eth0“ und ersetze es unter Linux-Betriebssystemen durch „br0“?

Details zum Lernprogramm
Schwierigkeit Einfach (rss)
Root-Berechtigungen Nein
Anforderungen vim
Zeit 1m

Sowohl der vi als auch der vim Texteditor stellen den Ersatzbefehl bereit. Es wird zum Suchen / Suchen und Ersetzen von Text verwendet. Auf dieser Seite wird erläutert, wie Sie den Ersatzbefehl zum Suchen und Ersetzen von Text durch vim / vi verwenden.

VIM-Syntax suchen und ersetzen

VIM suchen und ersetzen

Sowohl vi als auch vim bieten den Befehl: s zum Suchen und Ersetzen. Lassen Sie uns einige leicht verständliche Beispiele sehen.

Beispiele

Ich werde die folgende Beispieltextdatei verwenden:

Um jedes Vorkommen von ‚eth0‘ zu finden. Geben Sie in der aktuellen Zeile nur Folgendes ein und ersetzen Sie es durch ‚br0‘. Drücken Sie zuerst die Esc-Taste und geben Sie Folgendes ein:
:s/eth0/br0/g

Versuchen Sie als Nächstes zu suchen und ersetzen Sie alle Vorkommen von ‚eth1‘ durch ‚br1‘ unter vim. Geben Sie Folgendes ein:
:%s/eth1/br1/g

Suchen und ersetzen Sie alle Vorkommen von ‚eth1‘ durch ‚ br1 ‚, aber bitten Sie zuerst um Bestätigung bei vim, geben Sie Folgendes ein:
:%s/eth1/br1/gc

Um alle Vorkommen von Groß- und Kleinschreibung ohne Berücksichtigung von‘ eth1 ‚durch‘ br1 ‚zu finden und zu ersetzen ‚, geben Sie Folgendes ein:
:%s/eth1/br1/gi
Im obigen Beispiel werden eth1, ETH1, eTh1, ETh1 usw. gefunden und durch br1 ersetzt. Geben Sie Folgendes ein, um alle Vorkommen von ‚eth1‘ für Zeilen von 3 bis 7 zu finden und durch ‚br1‘ zu ersetzen:
:3,7s/eth1/br1/g

Eine kurze Demo

Animiertes GIF 01: Vim Demo suchen und ersetzen

Syntax ersetzen

Ein Löschen Sie in jeder Zeile alle Vorkommen des gesamten Wortes „Sysadmin“

Ja, wir können auch Wörter löschen:
:%s/\//g

Wie kann ich das erste Vorkommen des gesamten Wortes „method_“ und der folgenden 3 Zeichen löschen?

:%s/\.\{3}//

Aktuelle suchen und ersetzen Nur Zeile

Suchen Sie jedes Vorkommen von ‚bin‘ nur in der aktuellen Zeile und ersetzen Sie es in wrapper.sh durch ’sbin‘:
:%s/bin/sbin/gc

Fazit

Sie haben gelernt, wie Sie mit dem Ersatzbefehl% s Text finden und durch den Texteditor vi oder vim ersetzen. Geben Sie den folgenden Befehl in vim ein, um Hilfe zum Ersatzthema zu erhalten oder Dokumente anzuzeigen:
:help :substitute

🐧 Bitte unterstützen Sie meine Arbeit an Patreon oder mit eine Spende.
🐧 Holen Sie sich die neuesten Tutorials unter Linux, Open Source & DevOps per RSS-Feed oder wöchentlichem E-Mail-Newsletter.
🐧 8 Kommentare bisher … fügen Sie einen hinzu ↓
Kategorie Liste der Unix- und Linux-Befehle
Dateiverwaltung cat
Firewall Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04
Netzwerkdienstprogramme dig • host • ip • nmap
OpenVPN CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04
Paketmanager apk • apt
Prozesse Management bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • Zeit
Suchen grep • whereis • welche
Benutzerinformationen Gruppen • id • lastcomm • last • lid / libuser-lid • logname • Mitglieder • Benutzer • whoami • who • w
WireGuard VPN Alpin • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04

Write a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.