An unnamed Administration source, Michael Hipp, wrote:
> Hello, first post (in a long time) ...
> 
> I thought to do something like:
> 
> if [ -f myfile* ]; then
>    # do something
> fi

I get the same error here. It is the [ that's issuing the error
message (yes, "[" is an actual program, a synonym for "test").

> That's to find if there are one or more like myfile001, myfile002, but 
> it reports an error "too many arguments" if there is more than one. Any 
> simple/elegant way to do this?

cnt=$(ls -1 myfile* | wc -l)
if [ $cnt -ge 1 ] ; then
        echo �only 1"
else
        echo "more than 1: $cnt"
done

That's a numeric one, not an ell. Consider:

$ ls [zZ]*
zcat*   zegrep*      zforce*  zipcloak*  zipnote*   zmore*  Zoo*
zcmp*   zeisstopnm*  zgrep*   zipgrep*   zipsplit*  znew*   zsoelim*
zdiff*  zfgrep*      zip*     zipinfo*   zless*     zoo*

The script xx has that little program in it

$ cnt=$(ls -1 z* | wc -l) && echo $cnt
19
$ cnt=$(ls -1 Z* | wc -l) && echo $cnt
1

Kurt
-- 
Chef, n.:
        Any cook who swears in French.
_______________________________________________
Linux-users mailing list
[EMAIL PROTECTED]
Unsubscribe/Suspend/Etc -> http://www.linux-sxs.org/mailman/listinfo/linux-users

Reply via email to