Jsem nový uživatel systému Linux. Začal jsem používat textový editor vim nebo vi. Jak najdu veškerý výskyt slova zvaného „eth0“ a v operačních systémech Linux ho nahradím výrazem „br0“?
Podrobnosti výukového programu | |
---|---|
Obtížnost | Snadné (rss) |
rootovací oprávnění | Ne |
Požadavky | vim |
Čas | 1m |
Textový editor vi i vim poskytuje náhradní příkaz. Používá se k hledání / hledání a nahrazování textu. Tato stránka vysvětluje, jak použít náhradní příkaz k vyhledání a nahrazení textu vim / vi.
VIM Hledat a nahradit syntaxi
VIM Najít a nahradit
Jak vi, tak vim poskytuje příkaz: s pro vyhledávání a nahrazování. Podívejme se na několik snadno pochopitelných příkladů.
Příklady
Použiji následující ukázkový textový soubor:
Chcete-li najít každý výskyt výrazu ‚eth0‘ pouze v aktuálním řádku a nahraďte jej řetězcem „br0“, zadejte (nejprve stiskněte klávesu Esc a zadejte):
:s/eth0/br0/g
Dále zkuste najít a nahradit všechny výskyty ‚eth1‘ za ‚br1‘ pod vim, zadejte:
:%s/eth1/br1/g
Vyhledat a nahradit všechny výskyty ‚eth1‘ za ‚ br1 ‚, ale nejprve požádejte o potvrzení na vim, zadejte:
:%s/eth1/br1/gc
Chcete-li najít a nahradit všechny výskyty necitlivých písmen‘ eth1 ‚za‘ br1 ‚, zadejte:
:%s/eth1/br1/gi
Výše uvedený příklad najde eth1, ETH1, eTh1, ETh1 atd. a nahradí je br1. Chcete-li najít a nahradit všechny výskyty řetězce „eth1“ řetězcem „br1“ pro řádky od 3 do 7, zadejte:
:3,7s/eth1/br1/g
Rychlá ukázka
Animovaný gif 01: Vim Najít a nahradit ukázku
Nahradit syntaxi
Zapnuto v každém řádku smažte všechny výskyty celého slova „Sysadmin“
Ano, můžeme smazat i slova:
:%s/\//g
Jak mohu smazat první výskyt celého slova „method_“ a následující 3 znaky?
:%s/\.\{3}//
Hledat a nahradit aktuální pouze řádek
Najít všechny výskyty ‚bin‘ pouze v aktuálním řádku a nahradit je ‚sbin‘ v wrapper.sh:
:%s/bin/sbin/gc
Závěr
Naučili jste se, jak najít a nahradit text textovým editorem vi nebo vim pomocí příkazu% s substitute. Chcete-li získat pomoc s náhradním tématem nebo zobrazit dokumenty, zadejte následující příkaz do vim:
:help :substitute
🐧 Získejte nejnovější výukové programy pro Linux, Open Source & DevOps prostřednictvím kanálu RSS nebo týdenního e-mailového zpravodaje.
🐧 Zatím 8 komentářů … přidat jeden ↓
Kategorie | Seznam příkazů Unix a Linux |
---|---|
správa souborů | kočka |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Síťové nástroje | dig • hostitel • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Správce balíčků | apk • apt |
Procesy Vedení | bg • chroot • cron • odmítnout • fg • práce • killall • zabít • pidof • pstree • pwdx • čas |
Hledání | grep • kde • které |
informace o uživateli | skupiny • id • lastcomm • last • víko / libuser-víčko • logname • členové • uživatelé • whoami • kdo • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |