plucky (3) fnmatch.3.gz

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/ に書かれている。