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 |