man > fnmatch(3am)

FNMATCH(3am) GNU Awk Extension Modules

πŸ“– NAME

fnmatch – compare a string against a filename wildcard

πŸš€ Quick Reference

Use CaseCommandDescription
Match filename against wildcard patternfnmatch(pattern, string, 0)Returns 0 on match, FNM_NOMATCH on mismatch
Case‑insensitive matchingfnmatch(pattern, string, FNM["CASEFOLD"])Ignore case when matching
Disable backslash escapingfnmatch(pattern, string, FNM["NOESCAPE"])Treat backslash as ordinary character
Match leading period explicitlyfnmatch(pattern, string, FNM["PERIOD"])Leading period in string must match pattern
Restrict to filename componentfnmatch(pattern, string, FNM["FILE_NAME"])Slash only matches slash
Match only in leading directoryfnmatch(pattern, string, FNM["LEADING_DIR"])Match pattern against leading directory
Pathname matchingfnmatch(pattern, string, FNM["PATHNAME"])Slash cannot be matched by wildcards

πŸ“‹ SYNOPSIS

@load "fnmatch"

result = fnmatch(pattern, string, flags)

πŸ“ DESCRIPTION

The fnmatch extension provides an AWK interface to the fnmatch(3) routine. It adds a single function named fnmatch(), one predefined variable (FNM_NOMATCH), and an array of flag values named FNM.

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 FNM array.

The return value is zero on success, FNM_NOMATCH if the string did not match the pattern, or a different non‑zero value if an error occurred.

The flags are as follows:

πŸ—’οΈ NOTES

Nothing prevents AWK code from changing the predefined variable FNM_NOMATCH, but doing so may cause strange results.

πŸ’‘ EXAMPLE

@load "fnmatch"
...
flags = or(FNM["PERIOD"], FNM["NOESCAPE"])
if (fnmatch("*.a", "foo.c", flags) == FNM_NOMATCH)
     print "no match"

πŸ“š SEE ALSO

GAWK: Effective AWK Programming, filefuncs(3am), fork(3am), inplace(3am), ordchr(3am), readdir(3am), readfile(3am), revoutput(3am), rwarray(3am), time(3am).

fnmatch(3).

πŸ‘€ AUTHOR

Arnold Robbins, arnold@skeeve.com.

πŸ“„ COPYING PERMISSIONS

Copyright Β© 2012, 2013, 2018, Free Software Foundation, Inc.

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.

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.

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.

Free Software Foundation Feb 21 2018 FNMATCH(3am)

fnmatch(3am)
πŸ“– NAME πŸš€ Quick Reference πŸ“‹ SYNOPSIS πŸ“ DESCRIPTION πŸ—’οΈ NOTES πŸ’‘ EXAMPLE πŸ“š SEE ALSO πŸ‘€ AUTHOR πŸ“„ COPYING PERMISSIONS

Generated by phpman v4.9.26-1-g511901d · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-07-30 21:51 @216.73.217.152
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 Transitional!Valid CSS!
Enhanced by LLM: deepseek-v4-flash / taotoken.net / www.chedong.com - original format

^_top_^