.TH FNMATCH 3am "Jan 15 2013" "Free Software Foundation" "GNU Awk Extension Modules"
.SH NAME
fnmatch \- compare a string against a filename wildcard
.SH SYNOPSIS
.ft CW
@load "fnmatch"
.sp
result = fnmatch(pattern, string, flags)
.ft R
.SH DESCRIPTION
The
.I fnmatch
extension provides an AWK interface to the
.IR fnmatch (3)
routine.  It adds a single function named
.BR fnmatch() ,
one predefined variable
.RB ( FNM_NOMATCH ),
and an array of flag values named
.BR FNM .
.PP
The first argument is the filename wildcard to match, the second
is the filename string, and the third is either zero,
or the bitwise OR of one or more of the flags in the
.B FNM
array.
.PP
The return value is zero on success,
.B FNM_NOMATCH
if the string did not match the pattern, or
a different non-zero value if an error occurred.
.PP
The flags are follows:
.TP
\fBFNM["CASEFOLD"]\fP
Corresponds to the
.B FNM_CASEFOLD
flag as defined in
.IR fnmatch (3).
.TP
\fBFNM["FILE_NAME"]\fP
Corresponds to the
.B FNM_FILE_NAME
flag as defined in
.IR fnmatch (3).
.TP
\fBFNM["LEADING_DIR"]\fP
Corresponds to the
.B FNM_LEADING_DIR
flag as defined in
.IR fnmatch (3).
.TP
\fBFNM["NOESCAPE"]\fP
Corresponds to the
.B FNM_NOESCAPE
flag as defined in
.IR fnmatch (3).
.TP
\fBFNM["PATHNAME"]\fP
Corresponds to the
.B FNM_PATHNAME
flag as defined in
.IR fnmatch (3).
.TP
\fBFNM["PERIOD"]\fP
Corresponds to the
.B FNM_PERIOD
flag as defined in
.IR fnmatch (3).
.PP
.SH NOTES
Nothing prevents AWK code from changing the predefined
variabale
.BR FNM_NOMATCH ,
but doing so may cause strange results.
... .SH BUGS
.SH EXAMPLE
.ft CW
.nf
@load "fnmatch"
\&...
flags = or(FNM["PERIOD"], FNM["NOESCAPE"])
if (fnmatch("*.a", "foo.c", flags) == FNM_NOMATCH)
	print "no match"
.fi
.ft R
.SH "SEE ALSO"
.IR "GAWK: Effective AWK Programming" ,
.IR filefuncs (3am),
.IR fork (3am),
.IR inplace (3am),
.IR ordchr (3am),
.IR readdir (3am),
.IR readfile (3am),
.IR revoutput (3am),
.IR rwarray (3am),
.IR time (3am).
.PP
.IR fnmatch (3).
.SH AUTHOR
Arnold Robbins,
.BR arnold@skeeve.com .
.SH COPYING PERMISSIONS
Copyright \(co 2012, 2013,
Free Software Foundation, Inc.
.PP
Permission is granted to make and distribute verbatim copies of
this manual page provided the copyright notice and this permission
notice are preserved on all copies.
.ig
Permission is granted to process this file through troff and print the
results, provided the printed document carries copying permission
notice identical to this one except for the removal of this paragraph
(this paragraph not being relevant to the printed manual page).
..
.PP
Permission is granted to copy and distribute modified versions of this
manual page 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.
.PP
Permission is granted to copy and distribute translations of this
manual page into another language, under the above conditions for
modified versions, except that this permission notice may be stated in
a translation approved by the Foundation.
