Vi / VIM: Find And Replace All Text Substitute Command

by on October 19, 2012 · 2 comments· LAST UPDATED November 19, 2013

in , ,

I am a new Linux user. I started to use vim or vi text editor. How do I find all occurrence of the word called 'eth0' and replace it with 'br0' on Linux operating systems?

Tutorial details
DifficultyEasy (rss)
Root privilegesNo
Requirementsvim
Estimated completion time1m
Both vi and vim text editor provides the substitute command. It is used for search and replace text.

VIM: Search and replace syntax

The syntax is as follows:

:s/Search/Replace/CommandFlag
:s/Search-Word/Replace-Word/g
:%s/Search-Word/Replace-Word/g
:%s/Search-Word/Replace-Word/gc

Examples

I am going to use the following sample text file:

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
## full acess to lo and eth0 ##
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A OUTPUT -o eth0 -j ACCEPT
# log spoof
-A INPUT -i eth1 -s 10.0.0.0/8 -j LOG --log-prefix "IP DROP SPOOF A: "
-A INPUT -i eth1 -s 10.0.0.0/8 -j DROP
-A INPUT -i eth1 -s 172.16.0.0/12 -j LOG --log-prefix "IP DROP SPOOF B: "
-A INPUT -i eth1 -s 172.16.0.0/12 -j DROP

To find each occurrence of 'eth0' in the current line only, and replace it with 'br0', enter (first press Esc key and type):
:s/eth0/br0/g

To find and replace all occurrences of 'eth1' with 'br1', enter:
:%s/eth1/br1/g

To find and replace all occurrences of 'eth1' with 'br1', but ask for confirmation first, enter:
:%s/eth1/br1/gc

To find and replace all occurrences of case insensitive 'eth1' with 'br1', enter:
:%s/eth1/br1/gi
The above example will find eth1, ETH1, eTh1, ETh1 and so on and replace with br1. To find and replace all occurrences of 'eth1' with 'br1' for lines from 3 to 7, enter:
:3,7s/eth1/br1/g

A quick demo

Animated gif 01: Vim Find and Replace Demo

Animated gif 01: Vim Find and Replace Demo

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 2 comments… read them below or add one }

1 Antonio February 26, 2014 at 3:37 am

Is a good aportation i´m a mexican student
how to replace worlds after cursor

Reply

2 laike9m March 7, 2014 at 8:12 am

cursor? I think you only have one cursor so why not do it manually?

Reply

Leave a Comment

Tagged as:

Previous Faq:

Next Faq: