Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Dec 2000 11:51:27 +0100
From:      Livens Wim <WLivens@colt-telecom.be>
To:        'Dave Wilson' <davew@sai.co.za>, freebsd-isp@FreeBSD.ORG
Subject:   RE: Off topic - shell skills
Message-ID:  <DFCEEAEE7285D411884200508BEF01E308ADA1@COLTBEEXCH01>

next in thread | raw e-mail | index | archive | help
> How do I write a shell script that will change:
> 
> mail	IN	A  10.1.1.58
> 
> to:
> 
> mail 	IN	A  10.0.0.1
> 
> 
> ?
> 
> I need this script to parse through each zone, so when it 
> finds "10.1.1.58"
> in a zone it will change the "10.1.1.58" to "10.0.0.1".
> Please help if you can.

Just to give you an awk-alternative: pipe your zonefiles through this:

awk '/10.1.1.58/ {if ($1=="mail"&&$2=="IN"&&$3="A") print
$1"\t"$2"\t"$3"\t10.0.0.1"; else print $0;} !/10.1.1.58/ {print}'

It's probably far from optimal but it will not just change *any* occurance
of that ip address, as in the sed example; only the A records for hosts
named "mail". 

--
Wim Livens
Internet Engineer
COLT Telecom
Brussels
 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-isp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DFCEEAEE7285D411884200508BEF01E308ADA1>