|
|
  If you have a list of servers, you can use the substitution feature in vi to quickly turn that list into a test script. For instance, if I want to test a list of domains that looks like this:
domain1.com
domain2.com
domain3.com
domain4.com
domain5.com
|
I can insert text before and after the domain name. Here is the ping test I want to do:
[usr-1@srv-1 ~]$ ping -c 1 -n domain1.com | grep icmp
64 bytes from 69.57.130.27: icmp_seq=0 ttl=47 time=64.8 ms
[usr-1@srv-1 ~]$
|
Let's combine these two. Hit : and enter the substitute command below:
domain1.com
domain2.com
domain3.com
domain4.com
domain5.com
~
~
:%s/^/ping -c 1 -n /
|
The ^ marks the beginning of the line. Now we have:
ping -c 1 -n domain1.com
ping -c 1 -n domain2.com
ping -c 1 -n domain3.com
ping -c 1 -n domain4.com
ping -c 1 -n domain5.com
~
~
5 substitutions on 5 lines
|
Now, let's substitute at the end of the line using the $ match:
ping -c 1 -n domain1.com
ping -c 1 -n domain2.com
ping -c 1 -n domain3.com
ping -c 1 -n domain4.com
ping -c 1 -n domain5.com
~
~
:%s/$/ | grep icmp/
|
We have our batch file / shell script:
ping -c 1 -n domain1.com | grep icmp
ping -c 1 -n domain2.com | grep icmp
ping -c 1 -n domain3.com | grep icmp
ping -c 1 -n domain4.com | grep icmp
ping -c 1 -n domain5.com | grep icmp
~
~
5 substitutions on 5 lines
|
|
|