Quoting Ian Smith <smi...@nimnet.asn.au>:

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?

sed would work.  Something like

for i in addr='195.68.176.4#1440:' addr='195.68.176.4#16811:' addr='195.68.176.4#276:'
do
echo $i | sed 's/#.*//'
done

of course using the echo line in your script or something similar. I'm sure there are many simple or simpler solutions.

ed


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

TIA, Ian
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"




"Failure is the opportunity to begin again more intelligently."
"Fracaso es la oportunidad de reiniciar con mas inteligencia"  Henry Ford
_______________________________________________
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"

Reply via email to