Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Jun 2010 09:25:05 -0700
From:      Chip Camden <sterling@camdensoftware.com>
To:        "questions@freebsd.org" <questions@freebsd.org>
Subject:   Re: * wildcard in.sh script
Message-ID:  <20100615162505.GB31149@libertas.local.camdensoftware.com>
In-Reply-To: <4C174283.9090903@comclark.com>
References:  <4C173909.1050101@comclark.com> <4C174283.9090903@comclark.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Jun 15 2010 17:06, Aiza wrote:
> Aiza wrote:
> >I have a directory with files in it. The first 3 letters of the file 
> >names is the group prefix. I'm trying to write a script to accept the 3 
> >letter of the group followed by a * to mean its a prefix lookup. But 
> >when I run it I get a message "NO match" that is not issued by the 
> >script. Its like * is not allowed as input.
> >
> >Looking for sample .sh code for handling this standard type of lookup or 
> >some online tutorial that has sample code for bourne shell programming.
> >
> 
> 
> 
> Here is the code
> 
>   prefix_name1=$1
>   prefix_name2=`echo -n "${prefix_name1}" | sed 's/*.*$//'`
>   echo "prefix_name1 = ${prefix_name1}"
>   echo "prefix_name2 = ${prefix_name2}"
> 
> 
>   if [ ${prefix_name1} -nq ${prefix_name2} ]; then
>   echo "prefix_name2 = ${prefix_name2}"
>   fi
> exerr "hard stop"
> 
> 
> Here is the test and out put
> # >admin cell*
> admin: No match.
> 

As others have mentioned, you need to quote or escape the * in the
command line:

admin "cell*"

You've also botched your regex (/*.*$/) -- it can't begin with a *.  What exactly
are you trying to match?

-- 
Sterling (Chip) Camden
http://camdensoftware.com | http://chipstips.com | http://chipsquips.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100615162505.GB31149>