Jeg er en ny Linux-bruger. Jeg begyndte at bruge vim eller vi teksteditor. Hvordan finder jeg al forekomst af ordet kaldet ‘eth0’ og erstatter det med ‘br0’ på Linux-operativsystemer?
| Vejledningsoplysninger | |
|---|---|
| Sværhedsgrad | Let (rss) |
| Root privilegier | Nej |
| Krav | vim |
| Tid | 1m |
Både vi og vim teksteditor giver erstatningskommandoen. Det bruges til at finde / søge og erstatte tekst. Denne side forklarer, hvordan man bruger erstatningskommando til at finde og erstatte tekst med vim / vi.
VIM Søg og erstat syntaks
VIM Find og erstat
Både vi og vim giver kommandoen: s til søgning og erstatning. Lad os se nogle letforståelige eksempler.
Eksempler
Jeg vil bruge følgende eksempeltekstfil:
For at finde hver forekomst af ‘eth0’ kun i den aktuelle linje, og erstat den med ‘br0’, indtast (tryk først på Esc-tasten og skriv):
:s/eth0/br0/g
Prøv derefter at finde og erstat alle forekomster af ‘eth1’ med ‘br1’ under vim, indtast:
:%s/eth1/br1/g
Søg og erstat alle forekomster af ‘eth1’ med ‘ br1 ‘, men bed først om bekræftelse på vim, indtast:
:%s/eth1/br1/gc
For at finde og erstatte alle forekomster af store og små bogstaver’ eth1 ‘med’ br1 ‘, indtast:
:%s/eth1/br1/gi
Ovenstående eksempel finder eth1, ETH1, eTh1, ETh1 og så videre og erstattes med br1. For at finde og erstatte alle forekomster af ‘eth1’ med ‘br1’ for linjer fra 3 til 7, skal du indtaste:
:3,7s/eth1/br1/g
En hurtig demo
Animeret gif 01: Vim Find og erstat demo
Erstatningssyntaks
Til slet alle forekomster af hele ordet “Sysadmin”
Ja, vi kan også slette ord:
:%s/\//g
Hvordan kan jeg slette den første forekomst af hele ordet “method_” og de følgende 3 tegn?
:%s/\.\{3}//
Søg og erstat nuværende kun linje
Find kun hver forekomst af ‘bin’ i den aktuelle linje, og erstat den med ‘sbin’ i wrapper.sh:
:%s/bin/sbin/gc
Konklusion
Du lærte at finde og erstatte tekst med vi eller vim teksteditor ved hjælp af% s erstatningskommando. Skriv følgende kommando inde i vim for at få hjælp til erstatningstema eller se dokumenter:
:help :substitute
🐧 Få de seneste tutorials om Linux, Open Source & DevOps via RSS-feed eller ugentligt nyhedsbrev via e-mail.
🐧 8 kommentarer indtil videre … tilføj en ↓
| Kategori | Liste over Unix- og Linux-kommandoer |
|---|---|
| Filhåndtering | kat |
| Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
| Netværksværktøjer | dig • vært • ip • nmap |
| OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
| Package Manager | apk • apt |
| Processer Ledelse | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
| Søger | grep • hvor er • hvilke |
| brugeroplysninger | grupper • id • lastcomm • sidste • låg / libuser-låg • lognavn • medlemmer • brugere • whoami • hvem • w |
| WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |