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