FNMATCH
Section: Linux Programmer's Manual (3)
Updated: 2000-10-15
Index
Return to Main Contents
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 non-zero value if there is an error.
CONFORMING TO
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.22 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/.