Vi / VIM Zoek en vervang alle tekstvervangende opdracht

Ik ben een nieuwe Linux-gebruiker. Ik begon de vim- of vi-teksteditor te gebruiken. Hoe vind ik dat het woord ‘eth0’ voorkomt en vervang het door ‘br0’ op Linux-besturingssystemen?

Tutorial details
Moeilijkheidsgraad Gemakkelijk (rss)
Rootprivileges Nee
Vereisten vim
Tijd 1m

Zowel de vi- als de vim-teksteditor levert het vervangende commando. Het wordt gebruikt voor het zoeken / zoeken en vervangen van tekst. Deze pagina legt uit hoe je een vervangend commando kunt gebruiken om tekst te zoeken en te vervangen door vim / vi.

VIM Zoek en vervang syntaxis

VIM Zoek en vervang

Zowel vi als vim levert het: s commando voor zoeken en vervangen. Laten we enkele gemakkelijk te begrijpen voorbeelden bekijken.

Voorbeelden

Ik ga het volgende voorbeeldtekstbestand gebruiken:

Om elke keer dat ‘eth0’ voorkomt te vinden alleen in de huidige regel, en vervang het door ‘br0’, typ (druk eerst op Esc-toets en typ):
:s/eth0/br0/g

Probeer vervolgens te vinden en vervang alle exemplaren van ‘eth1’ door ‘br1’ onder vim, typ:
:%s/eth1/br1/g

Zoek en vervang alle exemplaren van ‘eth1’ door ‘ br1 ‘, maar vraag eerst om bevestiging op vim, voer in:
:%s/eth1/br1/gc

Om alle gevallen van hoofdletterongevoelig’ eth1 ‘te vinden en te vervangen door’ br1 ‘, voer in:
:%s/eth1/br1/gi
In het bovenstaande voorbeeld wordt eth1, ETH1, eTh1, ETh1 enzovoort gevonden en vervangen door br1. Om alle voorkomende ‘eth1’ te vinden en te vervangen door ‘br1’ voor regels van 3 tot 7, voer je in:
:3,7s/eth1/br1/g

Een korte demo

Animated gif 01: Vim Find and Replace Demo

Vervangende syntaxis

Aan elke regel, verwijder alle keren dat het hele woord “Sysadmin” voorkomt

Ja, we kunnen ook woorden verwijderen:
:%s/\//g

Hoe kan ik het eerste voorkomen van het hele woord “method_” en de volgende 3 tekens verwijderen?

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

Zoek en vervang current alleen regel

Vind elk exemplaar van ‘bin’ alleen in de huidige regel en vervang het door ‘sbin’ in wrapper.sh:
:%s/bin/sbin/gc

Conclusie

Je hebt geleerd hoe je tekst kunt vinden en vervangen met vi of vim teksteditor met behulp van het% s vervangende commando. Typ het volgende commando in vim om hulp te krijgen over een vervangend onderwerp of bekijk documenten:
:help :substitute

🐧 Steun alstublieft mijn werk aan Patreon of met een donatie.
🐧 Ontvang de nieuwste tutorials over Linux, Open Source & DevOps via RSS-feed of wekelijkse e-mailnieuwsbrief.
🐧 8 reacties tot nu toe … voeg er een toe ↓
Categorie Lijst met Unix- en Linux-opdrachten
Bestandsbeheer cat
Firewall Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04
Netwerkhulpprogramma’s dig • host • ip • nmap
OpenVPN CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04
Pakketbeheer apk • apt
Processen Beheer bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • tijd
Zoeken grep • whereis • welke
Gebruikersinformatie groepen • id • lastcomm • laatste • lid / libuser-lid • lognaam • leden • gebruikers • whoami • wie • w
WireGuard VPN Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04

Write a Comment

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *