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