sh parameter substitution problem
eculp at casasponti.net
eculp at casasponti.net
Wed Feb 11 03:31:12 PST 2009
Quoting Ian Smith <smithi at 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 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
>
"Failure is the opportunity to begin again more intelligently."
"Fracaso es la oportunidad de reiniciar con mas inteligencia" Henry Ford
More information about the freebsd-questions
mailing list