 |
Index for Section 3 |
|
 |
Alphabetical listing for F |
|
 |
Bottom of page |
|
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 standards
as follows:
fnmatch(): XPG4, XPG4-UNIX
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
PARAMETERS
pattern Contains the pattern to which the string parameter is to be
compared.
string Contains the string to be compared against the pattern parameter.
flags Contains a bit flag specifying the configurable attributes of the
comparison 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.
FNM_PATHNAME Slash in the string parameter only matches slash in the
pattern parameter.
FNM_PERIOD Leading period in the string parameter must be exactly
matched by period in the pattern parameter.
FNM_NOESCAPE 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 parameter. 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 character.
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 characters, 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 immediately follows a
slash.
· If the FNM_PATHNAME flag is not set, a period is leading only if it
is the first character of the string parameter.
If FNM_PERIOD is not set, no special restrictions are placed on matching 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 parameter
to see if it matches the pattern specified by the pattern parameter. 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() function returns a
nonzero value.
RELATED INFORMATION
Functions: glob(3), globfree(3), regcomp(3)
Standards: standards(5)
 |
Index for Section 3 |
|
 |
Alphabetical listing for F |
|
 |
Top of page |
|