Manual Page Result
0
Command: fnmatch | Section: 3 | Source: Digital UNIX | File: fnmatch.3.gz
fnmatch(3) Library Functions Manual fnmatch(3)
NAME
fnmatch - Matches filename patterns
LIBRARY
Standard C Library (libc.so, libc.a)
SYNOPSIS
#include <fnmatch.h>
int fnmatch( const char *pattern, const char *string,
int flags);
STANDARDS
Interfaces documented on this reference page conform to industry stan-
dards as follows:
fnmatch(): XPG4, XPG4-UNIX
Refer to the standards(5) reference page for more information about in-
dustry standards and associated tags.
PARAMETERS
Contains the pattern to which the string parameter is to be compared.
Contains the string to be compared against the pattern parameter. Con-
tains a bit flag specifying the configurable attributes of the compari-
son to be performed by the fnmatch function.
The flags parameter modifies the interpretation of the pattern and
string parameters. It is the bitwise inclusive OR (|) of 0 (zero) or
more of the following flags, which are defined in the fnmatch.h file.
Slash in the string parameter only matches slash in the pattern parame-
ter. Leading period in the string parameter must be exactly matched by
period in the pattern parameter. Unless FNM_NOESCAPE is set, preceding
a character in pattern with a \ (backslash character) causes fnmatch()
to match that character in string. For example, \\ matches a backslash
in string. If FNM_NOESCAPE is set, \ (backslash) is interpreted as an
ordinary character.
If the FNM_PATHNAME flag is set in the flags parameter, a / (slash) in
the string parameter is explicitly matched by a / in the pattern para-
meter. It is not matched by either the * (asterisk) or ? (question-
mark) special characters, nor by a bracket expression. If the
FNM_PATHNAME flag is not set, the / is treated as an ordinary charac-
ter.
If FNM_PERIOD is set in the flags parameter, then a leading period in
the string parameter only matches a period in the pattern parameter; it
is not matched by either the asterisk or question-mark special charac-
ters, nor by a bracket expression. A period is determined to be leading
according to the setting of the FNM_PATHNAME flag, according to the
following rules: If the FNM_PATHNAME flag is set, a period is leading
only if it is the first character in the string parameter or if it im-
mediately follows a slash. If the FNM_PATHNAME flag is not set, a pe-
riod is leading only if it is the first character of the string parame-
ter.
If FNM_PERIOD is not set, no special restrictions are placed on match-
ing a period.
A \ (backslash character) quotes the next character, unless
FNM_NOESCAPE is set. If FNM_NOESCAPE is set, \ (backslash) is treated
as itself.
DESCRIPTION
The fnmatch() function checks the string specified by the string para-
meter to see if it matches the pattern specified by the pattern parame-
ter. This routine follows the match criteria of the glob() function.
The fnmatch function is useful when a program needs to perform pattern
matching, such as when a directory is to be searched for a particular
string (as is the case with the find command). A program like the pax
command can also use the fnmatch() function to perform its pattern
matching operations.
RETURN VALUES
If the value in the string parameter matches the pattern specified by
the pattern parameter, then the fnmatch() function returns 0 (zero). If
there is no match, the fnmatch() function returns FNM_NOMATCH, which is
defined in the fnmatch.h file. If an error occurs, the fnmatch() func-
tion returns a nonzero value.
RELATED INFORMATION
Functions: glob(3), globfree(3), regcomp(3)
Standards: standards(5) delim off
fnmatch(3)