Vi / VIM Find og erstat al tekst Erstat kommando

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

support Støt mit arbejde på Patreon eller med en donation.
🐧 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

Write a Comment

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *