[clue] seeking regex advice

Mike Bean beandaemon at gmail.com
Tue Sep 2 09:54:28 MDT 2014


So I have this script that does deployments of large numbers of virtual
machines by cloning from a template and customizing the clone based on the
contents of a CSV file.   It's not especially pretty, but the functionality
is there, it's pretty solid (sans ONE bug).   It doesn't adjust the ip
addresses in /etc/hosts properly.   I was hoping the cluebies might provide
some advice.   Our /etc/hosts files look like this:

xx.xx.xx.xx (server).domain
xx.xx.xx.xx (server)gpfs server.domain

the code from the script looks like this:

#changes IP addresses in /etc/hosts
$cmd = "sed -i 's/[0-9][0-9].[0-9][0-9].[0-9][0-9].[0-9][0-9] $VMName
/$publicIP/g' /etc/hosts"
Invoke-VMScript -VM $VMName -GuestUser "root" -GuestPassword $guestPass
-ScriptText $cmd -Confirm:$false

There's two logical problems I'm trying to solve.

Problem#1 is we have two common IP spaces, one of which is xx.xx.xx.xx, and
the other is xx.xx.xxx.xxx.  Obviously with the regex the way it is, it
only catches xx.xx.xx.xx.

Problem#2 is how to adjust the sed command so that it replaces the public
line with the public address, and the gpfs line with the gpfs address.

I'm kinda scratching my head here trying to figure out a regex that would
fit the bill, advice is appreciated.

(Oh, distro is RHEL6.3)

eep - the longer I look at that, the more I realize that sed is all kinds
of messed up.

Mike B.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://cluedenver.org/pipermail/clue/attachments/20140902/c620a330/attachment.html 


More information about the clue mailing list