mirror of https://github.com/mkerrisk/man-pages
151 lines
4.4 KiB
Groff
151 lines
4.4 KiB
Groff
.\" Copyright (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
|
|
.\"
|
|
.\" %%%LICENSE_START(VERBATIM)
|
|
.\" Permission is granted to make and distribute verbatim copies of this
|
|
.\" manual provided the copyright notice and this permission notice are
|
|
.\" preserved on all copies.
|
|
.\"
|
|
.\" Permission is granted to copy and distribute modified versions of this
|
|
.\" manual under the conditions for verbatim copying, provided that the
|
|
.\" entire resulting derived work is distributed under the terms of a
|
|
.\" permission notice identical to this one.
|
|
.\"
|
|
.\" Since the Linux kernel and libraries are constantly changing, this
|
|
.\" manual page may be incorrect or out-of-date. The author(s) assume no
|
|
.\" responsibility for errors or omissions, or for damages resulting from
|
|
.\" the use of the information contained herein. The author(s) may not
|
|
.\" have taken the same level of care in the production of this manual,
|
|
.\" which is licensed free of charge, as they might when working
|
|
.\" professionally.
|
|
.\"
|
|
.\" Formatted or processed versions of this manual, if unaccompanied by
|
|
.\" the source, must acknowledge the copyright and authors of this work.
|
|
.\" %%%LICENSE_END
|
|
.\"
|
|
.\" Modified Sat Jul 24 19:35:54 1993 by Rik Faith (faith@cs.unc.edu)
|
|
.\" Modified Mon Oct 16 00:16:29 2000 following Joseph S. Myers
|
|
.\"
|
|
.TH FNMATCH 3 2021-03-22 "GNU" "Linux Programmer's Manual"
|
|
.SH NAME
|
|
fnmatch \- match filename or pathname
|
|
.SH SYNOPSIS
|
|
.nf
|
|
.B #include <fnmatch.h>
|
|
.PP
|
|
.BI "int fnmatch(const char *" "pattern" ", const char *" string ", int " flags );
|
|
.fi
|
|
.SH DESCRIPTION
|
|
The
|
|
.BR fnmatch ()
|
|
function checks whether the
|
|
.I string
|
|
argument matches the
|
|
.I pattern
|
|
argument, which is a shell wildcard pattern (see
|
|
.BR glob (7)).
|
|
.PP
|
|
The
|
|
.I flags
|
|
argument modifies the behavior; it is the bitwise OR of zero or more
|
|
of the following flags:
|
|
.TP
|
|
.B FNM_NOESCAPE
|
|
If this flag is set, treat backslash as an ordinary character,
|
|
instead of an escape character.
|
|
.TP
|
|
.B FNM_PATHNAME
|
|
If this flag is set, match a slash in
|
|
.I string
|
|
only with a slash in
|
|
.I pattern
|
|
and not by an asterisk (*) or a question mark (?) metacharacter,
|
|
nor by a bracket expression ([]) containing a slash.
|
|
.TP
|
|
.B FNM_PERIOD
|
|
If this flag is set, a leading period in
|
|
.I string
|
|
has to be matched exactly by a period in
|
|
.IR pattern .
|
|
A period is considered to be leading if it is the first character in
|
|
.IR string ,
|
|
or if both
|
|
.B FNM_PATHNAME
|
|
is set and the period immediately follows a slash.
|
|
.TP
|
|
.B FNM_FILE_NAME
|
|
This is a GNU synonym for
|
|
.BR FNM_PATHNAME .
|
|
.TP
|
|
.B 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
|
|
.I string
|
|
which is followed by a slash.
|
|
This flag is mainly for the internal
|
|
use of glibc and is implemented only in certain cases.
|
|
.TP
|
|
.B FNM_CASEFOLD
|
|
If this flag (a GNU extension) is set, the pattern is matched
|
|
case-insensitively.
|
|
.TP
|
|
.B FNM_EXTMATCH
|
|
If this flag (a GNU extension) is set, extended patterns are
|
|
supported, as introduced by \&'ksh' and now supported by other shells.
|
|
The extended format is as follows, with \fIpattern\-list\fR
|
|
being a \&'|' separated list of patterns.
|
|
.TP
|
|
\&'?(\fIpattern\-list\fR)'
|
|
The pattern matches if zero or one occurrences of any of the
|
|
patterns in the \fIpattern\-list\fR match the input \fIstring\fR.
|
|
.TP
|
|
\&'*(\fIpattern\-list\fR)'
|
|
The pattern matches if zero or more occurrences of any of the
|
|
patterns in the \fIpattern\-list\fR match the input \fIstring\fR.
|
|
.TP
|
|
\&'+(\fIpattern\-list\fR)'
|
|
The pattern matches if one or more occurrences of any of the
|
|
patterns in the \fIpattern\-list\fR match the input \fIstring\fR.
|
|
.TP
|
|
\&'@(\fIpattern\-list\fR)'
|
|
The pattern matches if exactly one occurrence of any of the
|
|
patterns in the \fIpattern\-list\fR match the input \fIstring\fR.
|
|
.TP
|
|
\&'!(\fIpattern\-list\fR)'
|
|
The pattern matches if the input \fIstring\fR cannot be matched with
|
|
any of the patterns in the \fIpattern\-list\fR.
|
|
.SH RETURN VALUE
|
|
Zero if
|
|
.I string
|
|
matches
|
|
.IR pattern ,
|
|
.B FNM_NOMATCH
|
|
if there is no match or another nonzero value if there is an error.
|
|
.SH ATTRIBUTES
|
|
For an explanation of the terms used in this section, see
|
|
.BR attributes (7).
|
|
.ad l
|
|
.nh
|
|
.TS
|
|
allbox;
|
|
lbx lb lb
|
|
l l l.
|
|
Interface Attribute Value
|
|
T{
|
|
.BR fnmatch ()
|
|
T} Thread safety MT-Safe env locale
|
|
.TE
|
|
.hy
|
|
.ad
|
|
.sp 1
|
|
.SH CONFORMING TO
|
|
POSIX.1-2001, POSIX.1-2008, POSIX.2.
|
|
The
|
|
.BR FNM_FILE_NAME ", " FNM_LEADING_DIR ", and " FNM_CASEFOLD
|
|
flags are GNU extensions.
|
|
.SH SEE ALSO
|
|
.BR sh (1),
|
|
.BR glob (3),
|
|
.BR scandir (3),
|
|
.BR wordexp (3),
|
|
.BR glob (7)
|