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>