Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Inconsistent behavior with comparisons and recursive glob patterns



I dug through StackOverflow a bit to see if I could find how folks in
the wild were expecting zmv to work. Interestingly, most of the posts
that called zmv with `**/` and '$f' were by the same author. In one if
them (https://unix.stackexchange.com/a/271816), they explicitly stated
that "zmv '(**/)(*)' $1$2..." and "zmv '**/*' '$f...'" were
equivalent.

In the absence of a specific statement in the documentation about
'**/' and '$f', it seems safe to assume that the intended spec was
that '**/' would behave the same with the various zmv flavors as it
does in other situations.

Thanks,
Awk


On Tue, Apr 30, 2024 at 3:09 PM Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx> wrote:
>
> (Moved from -users)
>
> On Tue, Apr 30, 2024 at 11:15 AM Bart Schaefer
> <schaefer@xxxxxxxxxxxxxxxx> wrote:
> >
> > I suspect there's no explicit reasoning in zmv.  **/ is specifically
> > handled in the case of zmv -w/-W (workers/27247) but not for '$f'
> > placeholders.
> >
> > It works if you do this:
> >
> > zmv -n '(**/)f?' '$f.txt'
> >
> > Whether it should also work without the parens and also without the -w
> > option is unclear.
>
> Attached patch makes it work without the parens.  Is this within spec?
>  It's hard to tell from the solitary '$f' example in the doc.




Messages sorted by: Reverse Date, Date, Thread, Author