Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: something simple (I hope)
- X-seq: zsh-users 6439
- From: Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx>
- To: ZSH User List <zsh-users@xxxxxxxxxx>
- Subject: Re: something simple (I hope)
- Date: Mon, 4 Aug 2003 15:53:21 +0000
- In-reply-to: <20030804153810.GA17793@xxxxxxxxx>
- Mailing-list: contact zsh-users-help@xxxxxxxxxx; run by ezmlm
- References: <20030804143351.GA14857@xxxxxxxxx> <20030804151216.GB25043@xxxxxxxxxxxxxxxxx> <20030804153810.GA17793@xxxxxxxxx>
On Aug 4, 5:38pm, Andy Spiegl wrote:
} Subject: Re: something simple (I hope)
}
} > > I want to put all files that match the regex pattern
} > > "^/var/tmp/exec\.[0-9]+$"
} > > into a list that I can then use in a foreach loop.
}
} Actually in the meantime I found out how to do that:
} files=(/var/tmp/exec.[[:digit:]]*)
}
} But what is still bugging me is that this also matches files like
} /var/tmp/exec.01234.something
}
} I can't figure out how to tell zsh that there shouldn't be anything _after_
} digits. What is the zsh-equivalent of a $ in regular expressions?
All glob patterns are implicitly anchored at start and end; there's no
such thing as a file glob that matches anywhere in a file name.
What you've forgotten is that * in a glob pattern is equivalent to .*
in a regular expression. It's # in zsh that repeats the preceeding
glob pattern. So what you want is
setopt extendedglob
files=( /var/tmp/exec.[[:digit:]]# )
Messages sorted by:
Reverse Date,
Date,
Thread,
Author