sh parameter substitution problem

Ian Smith smithi at nimnet.asn.au
Wed Feb 11 03:12:23 PST 2009


I'm getting nowhere trying to parse out IP addresses from strings of 
this form in /bin/sh, which have been awk'd out of 'tail named.run':

 addr='195.68.176.4#1440:'
 addr='195.68.176.4#16811:'
 addr='195.68.176.4#276:'

sh(1) in hand, I've tried:

 ip=${addr:%#*}
 ip=${addr:%%#*}
 ip=${addr:%[#]*}
 ip=${addr:%%[#]*}

but all of these report './testbit: 7: Syntax error: Bad substitution'

How can I split these strings to exclude the '#' and all beyond, 
preferably using sh syntax, at least without resorting to perl?

Please cc me as I'm only subscribed to the digest.

TIA, Ian


More information about the freebsd-questions mailing list