<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.28.3">
</HEAD>
<BODY>
Thanks. That is a smidge more compact. Although it doesn't quite jump off the page w.r.t. readability. <BR>
<BR>
I was hoping for something along the lines of Progress: <BR>
Table = entry(1, FullName, "."). <BR>
<BR>
But I shall take a look at BASH_REMATCH. <BR>
<BR>
On Sun, 2014-09-14 at 21:38 -0400, Michael H. Warfield wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
On Sun, 2014-09-14 at 19:41 -0400, Neal Rhodes wrote:
> If in a shell script, you have a variable loaded with a character value,
> and there is a delimiter, and you want to peel it apart by that
> delimiter, is there a built-in expression to do that?
> Here's what I'm doing, and I'm thinking there should be a better way.
> FULLNAME=$1 #eg:
> CustomerEntry.CreditLimit
> DOT=`expr index $FULLNAME .`
> DOTM1=`expr $DOT - 1`
> TABLE=${FULLNAME:0:$DOTM1}
> FIELD=${FULLNAME:$DOT:40}
Yes there is. You specifically said "bash" in the subject and in the
talks we've had a ALE and AUUG over "belts and suspenders bash" the
speaker mentioned using regex's in bash and accessing the underlying
substring results. Look for BASH_REMATCH variables and the =~ operator
in the bash documentation.
--
FOO=CustomerEntry.CreditLimit
if [[ "${FOO}" =~ (.*)\.(.*) ]] ; then
        echo "${BASH_REMATCH[1]} : ${BASH_REMATCH[2]}"
else
        echo nope
fi
CustomerEntry : CreditLimit
--
Is that what you're after?
> Neal Rhodes
> President, MNOP Ltd
> Lilburn, GA
> 770-972-5430
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <<A HREF="http://mail.ale.org/pipermail/ale/attachments/20140914/3c89902c/attachment.html">http://mail.ale.org/pipermail/ale/attachments/20140914/3c89902c/attachment.html</A>>
Regards,
Mike
</PRE>
</BLOCKQUOTE>
<BR>
</BODY>
</HTML>