Shell globs: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
Line 2: | Line 2: | ||
Globs, is associated with certain kinds of 'match this pattern'. | Globs, is associated with certain kinds of 'match this pattern'. | ||
: also called ''shell globs'', because they are mainly seen in command lines | : also called ''shell globs'', because they are mainly seen in command lines | ||
Compare with [[regular expressions]], which are more powerful (but still single-string) ways of expressing patterns. | |||
. | Shell globs match fairly simple patterns. you can only use: | ||
: {{inlinecode|?}} meaning ''one'' character of anything, and | : {{inlinecode|?}} meaning ''one'' character of anything, and | ||
: {{inlinecode|*}} meaning ''any'' amount of characters of anything | : {{inlinecode|*}} meaning ''any'' amount of characters of anything | ||
Line 15: | Line 19: | ||
If you have both a fnmatch and glob function: | |||
* {{search|fnmatch()}} is a "matches a single given string with this pattern" | |||
:: (probably nothing related to the filesystem unless you do it yourself) | |||
: | |||
* glob() is likely to both walk your filesystem and returns ''all'' matching filenames | |||
:: apparently fnmatch() is ''used'' in the glob() implementation |
Revision as of 15:03, 28 November 2023
Globs, is associated with certain kinds of 'match this pattern'.
- also called shell globs, because they are mainly seen in command lines
Compare with regular expressions, which are more powerful (but still single-string) ways of expressing patterns.
Shell globs match fairly simple patterns. you can only use:
- ? meaning one character of anything, and
- * meaning any amount of characters of anything
- ...anything except the directory separateor, / {{(or presumably \ if imitated in windows)}}
- [chars] meaning any one of the characters in this set
- can also be used to match a literal ? or *
- [!chars] meaning anything other than the characters in this set
- I've seen [^chars] manage the same, though this isn't quite standard [1]
If you have both a fnmatch and glob function:
- fnmatch() is a "matches a single given string with this pattern"
- (probably nothing related to the filesystem unless you do it yourself)
- glob() is likely to both walk your filesystem and returns all matching filenames
- apparently fnmatch() is used in the glob() implementation