NAME¶
fnmatch - match filename or pathname
SYNOPSIS¶
#include <fnmatch.h>
int fnmatch(const char *pattern, const char *string, int flags);
DESCRIPTION¶
The
fnmatch() function checks whether the
string argument matches
the
pattern argument, which is a shell wildcard pattern.
The
flags argument modifies the behavior; 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 by an asterisk (*) or a question
mark (?) metacharacter, nor by a bracket expression ([]) 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. This flag is mainly for the internal use of
glibc and is only implemented in certain cases.
- FNM_CASEFOLD
- If this flag (a GNU extension) is set, the pattern is
matched case-insensitively.
RETURN VALUE¶
Zero if
string matches
pattern,
FNM_NOMATCH if there is no
match or another nonzero value if there is an error.
POSIX.2. The
FNM_FILE_NAME,
FNM_LEADING_DIR, and
FNM_CASEFOLD flags are GNU extensions.
SEE ALSO¶
sh(1),
glob(3),
scandir(3),
wordexp(3),
glob(7)
COLOPHON¶
This page is part of release 3.44 of the Linux
man-pages project. A
description of the project, and information about reporting bugs, can be found
at
http://www.kernel.org/doc/man-pages/.