Vi / VIM Hitta och ersätt alla text Ersätt kommando

Jag är en ny Linux-användare. Jag började använda vim eller vi textredigerare. Hur hittar jag alla förekomster av ordet ’eth0’ och ersätter det med ’br0’ på Linux-operativsystem?

Självstudieinformation
Svårighet Lätt (rss)
Rotprivilegier Nej
Krav vim
Tid 1m

Både vi och vim textredigerare tillhandahåller ersättningskommandot. Den används för att hitta / söka och ersätta text. Denna sida förklarar hur man använder ersättningskommandot för att hitta och ersätta text med vim / vi.

VIM Sök och ersätt syntax

VIM Sök och ersätt

Både vi och vim ger kommandot: s för sökning och ersättning. Låt oss se några lättförståeliga exempel.

Exempel

Jag ska använda följande exempeltextfil:

För att hitta varje förekomst av ’eth0’ endast i den aktuella raden och ersätt den med ’br0’, ange (tryck först på Esc-tangenten och skriv):
:s/eth0/br0/g

Nästa försök att hitta och ersätt alla förekomster av ’eth1’ med ’br1’ under vim, skriv in:
:%s/eth1/br1/g

Sök och ersätt alla förekomster av ’eth1’ med ’ br1 ’, men fråga först om bekräftelse på vim, skriv in:
:%s/eth1/br1/gc

För att hitta och ersätta alla förekomster av skiftlägeskänsliga’ eth1 ’med’ br1 ’, enter:
:%s/eth1/br1/gi
Exemplet ovan hittar eth1, ETH1, eTh1, ETh1 och så vidare och ersätts med br1. För att hitta och ersätta alla förekomster av ’eth1’ med ’br1’ för rader från 3 till 7, skriv in:
:3,7s/eth1/br1/g

En snabb demo

Animerad gif 01: Vim Sök och ersätt demo

Ersättningssyntax

På varje rad, ta bort alla förekomster av hela ordet ”Sysadmin”

Ja, vi kan också ta bort ord:
:%s/\//g

Hur kan jag radera den första förekomsten av hela ordet ”method_” och följande tre tecken?

:%s/\.\{3}//

Sök och ersätt nuvarande Endast rad

Hitta bara varje förekomst av ’bin’ i den aktuella raden och ersätt den med ’sbin’ i wrapper.sh:
:%s/bin/sbin/gc

Slutsats

Du lärde dig att hitta och ersätta text med vi eller vim textredigerare med ersättningskommandot% s. Skriv följande kommando inuti vim för att få hjälp om ersättningsämne eller se dokument:
:help :substitute

support Stöd gärna mitt arbete på Patreon eller med en donation.
🐧 Få de senaste självstudierna om Linux, öppen källkod & DevOps via RSS-flöde eller e-postbrev per vecka.
🐧 8 kommentarer hittills … lägg till en ↓
Kategori Lista över Unix- och Linux-kommandon
Filhantering cat
Firewall Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04
Nätverksverktyg dig • värd • ip • nmap
OpenVPN CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04
Package Manager apk • apt
Processer Ledning bg • chroot • cron • disown • fg • jobb • killall • kill • pidof • pstree • pwdx • time
Söker grep • varför • vilka
användarinformation grupper • id • lastcomm • sista • lock / libuser-lock • loggnamn • medlemmar • användare • whoami • vem • w
WireGuard VPN Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04

Write a Comment

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *