Developer's Daily | Unix by Example |
main | java | perl | unix | dev directory | web log |
fnmatch ? match filename or pathname |
#include <fnmatch.h> int fnmatch(const char *pattern, const char *string, int flags); |
The fnmatch() function checks whether the string argument matches the pattern argument, which is a shell wildcard pattern. The flags argument modifies the behaviour; it is the bitwise OR of zero or more of the following flags: |
FNM_NOESCAPE |
If this flag is set, treat backslash as an ordinary character, instead of an escape character. |
FNM_PATHNAME |
If this flag is set, match a slash in string only with a slash in pattern and not, for example, with a [] ? sequence containing a slash. |
FNM_PERIOD |
If this flag is set, a leading period in string has to be matched exactly by a period in pattern. A period is considered to be leading if it is the first character in string, or if both FNM_PATHNAME is set and the period immediately follows a slash. |
FNM_FILE_NAME |
This is a GNU synonym for FNM_PATHNAME. |
FNM_LEADING_DIR |
If this flag (a GNU extension) is set, the pattern is considered to be matched if it matches an initial segment of string which is followed by a slash. |
FNM_CASEFOLD |
If this flag (a GNU extension) is set, the pattern is matched case-insensitively. |
Zero if string matches pattern, FNM_NOMATCH if there is no match or another non-zero value if there is an error. |
ISO/IEC 9945-2: 1993 (POSIX.2). The FNM_FILE_NAME, FNM_LEADING_DIR, and FNM_CASEFOLD flags are GNU extensions. |
sh(1), glob(3), glob(7) |