fnmatch(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

fnmatch(3c)

fnmatch(3C)              Standard C Library Functions              fnmatch(3C)

NAME
       fnmatch - match filename or path name

SYNOPSIS
       #include <fnmatch.h>

       int fnmatch(const char *pattern, const char *string, int flags);

DESCRIPTION
       The  fnmatch() function matches patterns as described on the fnmatch(7)
       manual page. It checks the string argument to see  if  it  matches  the
       pattern argument.


       The  flags  argument modifies the interpretation of pattern and string.
       It is the bitwise inclusive OR of zero or more of the  following  flags
       defined in the header <fnmatch.h>.

       FNM_PATHNAME       If  set, a slash (/) character in string will be ex‐
                          plicitly matched by a slash in pattern; it will  not
                          be  matched  by either the asterisk (*) or question-
                          mark (?) special characters, nor by a  bracket  ([])
                          expression.

                          If not set, the slash character is treated as an or‐
                          dinary character.


       FNM_FILE_NAME      An  alias of FNM_PATHNAME provided for a better com‐
                          patibility with other operating systems.


       FNM_NOESCAPE       If not set, a backslash  character  (\)  in  pattern
                          followed by any other character will match that sec‐
                          ond  character  in  string. In particular, "\\" will
                          match a backslash in string.

                          If set, a backslash character will be treated as  an
                          ordinary character.


       FNM_PERIOD         If  set, a leading period in string will match a pe‐
                          riod in pattern; where the location of "leading"  is
                          indicated by the value of FNM_PATHNAME:


                              o      If  FNM_PATHNAME  is  set,  a  period  is
                                     "leading" if it is the first character in
                                     string or if  it  immediately  follows  a
                                     slash.


                              o      If  FNM_PATHNAME  is not set, a period is
                                     "leading" only if it is the first charac‐
                                     ter of string.

                          If not set, no special restrictions  are  placed  on
                          matching a period.


       FNM_IGNORECASE     If  set,  during  matching, case is ignored yielding
                          case-insensitive matching on characters based on the
                          case folding defined for the current locale  or,  if
                          that  does  not exist, tolower() case conversions of
                          the current locale.


       FNM_CASEFOLD       An alias of FNM_IGNORECASE  provided  for  a  better
                          compatibility with other operating systems.


       FNM_LEADING_DIR    If  set, matching is done with string only until all
                          pattern expressions in  pattern  argument  are  con‐
                          sumed.  Any  remaining characters at string starting
                          with slash character (/) are simply ignored  and  do
                          not affect the matching result.


RETURN VALUES
       If  string matches the pattern specified by pattern, then fnmatch() re‐
       turns 0. If there is no match, fnmatch() returns FNM_NOMATCH, which  is
       defined  in  the  header <fnmatch.h>. If an error occurs, fnmatch() re‐
       turns another non-zero value.

USAGE
       The fnmatch() function has two major uses. It could be used by  an  ap‐
       plication or utility that needs to read a directory and apply a pattern
       against  each  entry. The find(1) utility is an example of this. It can
       also be used by the pax(1) utility to process its pattern operands,  or
       by applications that need to match strings in a similar manner.


       The  name  fnmatch()  is  intended to imply filename match, rather than
       pathname match. The default action of this function is to  match  file‐
       names,  rather  than path names, since it gives no special significance
       to the slash character. With  the  FNM_PATHNAME  flag,  fnmatch()  does
       match  path names, but without tilde expansion, parameter expansion, or
       special treatment for period at the beginning of a filename.


       While the FNM_CASEFOLD, FNM_FILE_NAME,  FNM_IGNORECASE,  and  FNM_LEAD‐
       ING_DIR  flags  are  provided  and supported for a better compatibility
       with some other operating systems, use of them may  make  your  program
       source  code  slightly less portable and portable only to the operating
       systems that support the mentioned flags.

EXAMPLES
       Example 1 A path name matching



       The following example matches all file names under /opt/MyApp1.0/  that
       end with data:


         result = fnmatch("/opt/MyApp1.0/*.data", pname, FNM_PATHNAME);


       Example 2 A case-insensitive file name matching



       The  following  example matches file names pointed to by fname that has
       myfile as prefix in any case combination:


         result = fnmatch("myfile*", fname, FNM_IGNORECASE);


       Example 3 Match all path names with a common set of parent names



       The following example matches path names pointed to by pname that has a
       common set of parent path names of /opt/l*/MyApps  and,  in  doing  so,
       also ensures slash characters are explicitly matched:


         result = fnmatch("/opt/l*/MyApps", pname, (FNM_PATHNAME | FNM_LEADING_DIR));




       For  instance,  the  above will match /opt/lib/MyApps/test/test.txt and
       /opt/local/MyApps/config but not /opt/lib/locale/MyApps.

ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE VALUE _ CSIEnabled _ Interface StabilityCommitted _ MT-LevelMT-
       Safe _ StandardSee standards(7).


SEE ALSO
       find(1),  pax(1),  glob(3C), setlocale(3C), wordexp(3C), attributes(7),
       fnmatch(7), standards(7)

Oracle Solaris 11.4               11 May 2021                      fnmatch(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3