Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_all bug

名前

       fnmatch - ファイル名またはパス名へのマッチを行う

書式

       #include <fnmatch.h>

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

説明

       fnmatch()   関数は  strings 引数が pattern 引数にマッチするかをチェックする。 pattern には
       シェルのワイルドカードパターンを与える (glob(7) 参照)。

       flags 引数により動作を変更できる。 flags は以下のフラグのビット毎の OR で指定する。

       FNM_NOESCAPE
              このフラグがセットされていると、バックスラッシュ (\) をエスケープ文字  ではなく通常
              の文字として扱う。

       FNM_PATHNAME
              このフラグがセットされていると、  string 中のスラッシュ (/) を pattern にあるスラッ
              シュそのものにだけマッチさせ、 アスタリスク (*) や疑問符 (?) のメタキャラクターや、
              スラッシュを含むブラケット表現 ([]) にはマッチさせない。

       FNM_PERIOD
              このフラグがセットされていると、  string の先頭ピリオド (leading period) は pattern
              中のピリオドそのものにしかマッチしない。先頭ピリオドとは、 string  の最初の文字位置
              にあるピリオドのことである。ただし  FNM_PATHNAME フラグが同時にセットされている場合
              には、スラッシュの直後に続くピリオド も先頭ピリオドとみなされる。

       FNM_FILE_NAME
              これは FNM_PATHNAME に対する GNU での同義語である.

       FNM_LEADING_DIR
              このフラグは GNU での拡張である。これがセットされている場合には、 パターンが string
              の最初の部分  (にスラッシュを付けたもの)  にマッチすれば、 マッチしたものとみなされ
              る。 このフラグは主として glibc  で内部的に使用するもので、そのためにのみ実装されて
              いる。

       FNM_CASEFOLD
              このフラグは  GNU での拡張である。これがセットされている場合には、 パターンのマッチ
              に大文字小文字が区別されない。

       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 pattern-list being a '|' separated list of patterns.

       '?(pattern-list)'
              The pattern matches if zero or one occurrences  of  any  of  the  patterns  in  the
              pattern-list match the input string.

       '*(pattern-list)'
              The  pattern  matches  if  zero  or  more occurrences of any of the patterns in the
              pattern-list match the input string.

       '+(pattern-list)'
              The pattern matches if one or more occurrences  of  any  of  the  patterns  in  the
              pattern-list match the input string.

       '@(pattern-list)'
              The  pattern  matches  if  exactly  one  occurrence  of  any of the patterns in the
              pattern-list match the input string.

       '!(pattern-list)'
              The pattern matches if the input string cannot be matched with any of the  patterns
              in the pattern-list.

返り値

       stringpattern にマッチすれば 0 を返す。マッチしなかった場合には FNM_NOMATCH を返す。エ
       ラーの場合にはそれ以外の非ゼロ値を返す。

属性

       この節で使用されている用語の説明については、 attributes(7) を参照。

       ┌─────────────────┬───────────────┬────────────────────┐
       │インターフェース属性                 │
       ├─────────────────┼───────────────┼────────────────────┤
       │fnmatch()        │ Thread safety │ MT-Safe env locale │
       └─────────────────┴───────────────┴────────────────────┘

準拠

       POSIX.1-2001, POSIX.1-2008, POSIX.2.  FNM_FILE_NAME, FNM_LEADING_DIR, FNM_CASEFOLD  フラグ
       は GNU の拡張である。

関連項目

       sh(1), glob(3), scandir(3), wordexp(3), glob(7)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの
       説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。