Jeg er en ny Linux-bruker. Jeg begynte å bruke vim eller vi tekstredigerer. Hvordan finner jeg all forekomst av ordet kalt ‘eth0’ og erstatter det med ‘br0’ på Linux-operativsystemer?
Opplæringsdetaljer | |
---|---|
Vanskelighetsgrad | Enkelt (rss) |
Rotrettigheter | Nei |
Krav | vim |
Tid | 1m |
Både vi og vim teksteditor gir erstatningskommandoen. Den brukes til å finne / søke og erstatte tekst. Denne siden forklarer hvordan du bruker erstatningskommandoen for å finne og erstatte tekst med vim / vi.
VIM Søk og erstatt syntaksen
VIM Finn og erstatt
Både vi og vim gir kommandoen: s for søk og erstat. La oss se noen enkle å forstå eksempler.
Eksempler
Jeg skal bruke følgende eksempeltekstfil:
For å finne hver forekomst av ‘eth0’ bare i den nåværende linjen, og erstatt den med ‘br0’, skriv inn (trykk på Esc-tasten og skriv inn):
:s/eth0/br0/g
Neste, prøv å finne og erstatt alle forekomster av ‘eth1’ med ‘br1’ under vim, skriv inn:
:%s/eth1/br1/g
Søk og erstatt alle forekomster av ‘eth1’ med ‘ br1 ‘, men be om bekreftelse først på vim, skriv inn:
:%s/eth1/br1/gc
For å finne og erstatte alle forekomster av store og små bokstaver’ eth1 ‘med’ br1 ‘, skriv inn:
:%s/eth1/br1/gi
Eksemplet ovenfor vil finne eth1, ETH1, eTh1, ETh1 og så videre og erstatte med br1. For å finne og erstatte alle forekomster av ‘eth1’ med ‘br1’ for linjer fra 3 til 7, skriv inn:
:3,7s/eth1/br1/g
En rask demo
Animert gif 01: Vim Finn og erstatt demo
Erstatningssyntaks
På slett alle forekomster av hele ordet «Sysadmin»
Ja, vi kan også slette ord:
:%s/\//g
Hvordan kan jeg slette den første forekomsten av hele ordet «method_» og de følgende tre tegnene?
:%s/\.\{3}//
Søk og erstatt gjeldende Bare linje
Finn bare hver forekomst av ‘bin’ i den aktuelle linjen, og erstatt den med ‘sbin’ i wrapper.sh:
:%s/bin/sbin/gc
Konklusjon
Du lærte å finne og erstatte tekst med vi eller vim teksteditor ved hjelp av% s erstatningskommando. Skriv inn følgende kommando inne i vim for å få hjelp om erstatningstema eller se dokumenter:
:help :substitute
🐧 Få de siste opplæringene om Linux, åpen kildekode & DevOps via RSS-feed eller ukentlig nyhetsbrev per e-post.
🐧 8 kommentarer så langt … legg til en ↓
Kategori | Liste over Unix- og Linux-kommandoer |
---|---|
Filbehandling | cat |
Brannmur | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Nettverksverktøy | dig • vert • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Prosesser Ledelse | bg • chroot • cron • disown • fg • jobber • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • hvilke |
brukerinformasjon | grupper • id • siste kommune • siste • lokk / libuser-lokk • loggnavn • medlemmer • brukere • whoami • hvem • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Brannmur • Ubuntu 20.04 |