diff options
author | Bart Schaefer <schaefer@zsh.org> | 2024-05-24 19:24:23 -0700 |
---|---|---|
committer | Bart Schaefer <schaefer@zsh.org> | 2024-05-24 19:24:23 -0700 |
commit | 300ce96080b0679038db946ef34ac5c2d26646b5 (patch) | |
tree | f8580315cad1b0f7860f01bc3c0904de61c46b9e /Functions | |
parent | 7f196de9d7f1034a6a8cc7730280f21f7eb0a7f3 (diff) | |
download | zsh-300ce96080b0679038db946ef34ac5c2d26646b5.tar.gz zsh-300ce96080b0679038db946ef34ac5c2d26646b5.tar.xz zsh-300ce96080b0679038db946ef34ac5c2d26646b5.zip |
52910: Improve handling of **/ patterns
Diffstat (limited to 'Functions')
-rw-r--r-- | Functions/Misc/zmv | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Functions/Misc/zmv b/Functions/Misc/zmv index 5c03e9ea1..2002af5a6 100644 --- a/Functions/Misc/zmv +++ b/Functions/Misc/zmv @@ -249,13 +249,13 @@ errs=() (( ${#files} )) || errs=( "no files matched \`$fpat'" ) for f in $files; do - if [[ $pat = (#b)(*)\(\*\*##/\)(*) ]]; then + if [[ $pat = (#b)(*)(\(\*\*##/\)|\*\*##/)(*) ]]; then # This looks like a recursive glob. This isn't good enough, - # because we should really enforce that $match[1] and $match[2] + # because we should really enforce that $match[1] and $match[3] # don't match slashes unless they were explicitly given. But # it's a start. It's fine for the classic case where (**/) is # at the start of the pattern. - pat="$match[1](*/|)$match[2]" + pat="$match[1](*/|)$match[3]" fi [[ -e $f && $f = (#b)${~pat} ]] || continue set -- "$match[@]" |