Bash globstar matching after text

335 views Asked by At

I really can't understand why pattern test**/*.ext matches test23/file.ext, but doesn't match test23/test/file.ext and test23/test/test/file.ext. Globstar should match all of this, shouldn't it?

1

There are 1 answers

0
that other guy On BEST ANSWER

Here's man bash:

When the globstar shell option is enabled, and * is used in a pathname expansion context, two adjacent *s used as a single pattern will match all files and zero or more directories and subdirectories. If followed by a /, two adjacent *s will match only directories and subdirectories.

Since your ** is not a single pattern but rather a part of test**, it does not get the globstar treatment.