Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

       fnmatch - сравнивает имя файла или путь

БИБЛИОТЕКА

       Стандартная библиотека языка C (libc, -lc)

ОБЗОР

       #include <fnmatch.h>

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

ОПИСАНИЕ

       Функция  fnmatch()  проверяет,  совпадает  ли  параметр  string  с  параметром  pattern, который является
       подстановочным шаблоном оболочки (смотрите glob(7)).

       Аргумент flags изменяет поведение; он является битовой маской и может содержать следующие флаги:

       FNM_NOESCAPE
              Если этот флаг установлен, то обратная  косая  черта  воспринимается  как  простой  символ,  а  не
              специальный.

       FNM_PATHNAME
              Если  этот флаг установлен, то косая черта в строке string будет совпадать только с косой чертой в
              шаблоне pattern,  но  не  с  метасимволом  звёздочка  (*)  или  вопросительным  знаком  (?)  и  не
              последовательностью в квадратных скобках ([]), содержащую косую черту.

       FNM_PERIOD
              Если  этот флаг установлен, то начальная точка в строке string должна сравниваться именно с точкой
              в шаблоне pattern. Точка считается начальной, если она является первым символом в  строке  string,
              или если установлен флаг FNM_PATHNAME и точка следует сразу за косой чертой.

       FNM_FILE_NAME
              Синоним FNM_PATHNAME в GNU.

       FNM_LEADING_DIR
              Если  этот  флаг  (расширение  GNU)  установлен,  то  строка  считается совпавшей с шаблоном, если
              совпадает начальный сегмент строки string, который следует сразу за косой чертой.  Этот  флаг  для
              внутреннего использования glibc и не всегда реализуется.

       FNM_CASEFOLD
              Если этот флаг (расширение GNU) установлен, то выражения сравниваются без учёта регистра символов.

       FNM_EXTMATCH
              Если  этот  флаг  (расширение  GNU)  установлен,  то поддерживаются расширенные шаблоны из 'ksh' и
              теперь поддерживаемые другими оболочками. В расширенном формате pattern-list  предоставляет  собой
              список шаблонов, разделённых '|', входит следующее:

       '?(pattern-list)'
              Шаблон  совпадает,  если ноль или одно вхождение любого шаблона в pattern-list совпадает с входной
              строкой string.

       '*(pattern-list)'
              Шаблон совпадает, если ноль или более вхождений любых шаблонов в pattern-list совпадает с  входной
              строкой string.

       '+(pattern-list)'
              Шаблон  совпадает, если одно или более вхождений любых шаблонов в pattern-list совпадает с входной
              строкой string.

       '@(pattern-list)'
              Шаблон совпадает, если только одно вхождение любого шаблона в  pattern-list  совпадает  с  входной
              строкой string.

       '!(pattern-list)'
              Шаблон совпадает, если входная строка string не совпадает с каким-либо шаблоном в pattern-list.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       Возвращает  ноль,  если строка string совпадает с шаблоном pattern, возвращает FNM_NOMATCH, если строка и
       шаблон не совпадают, или другое ненулевое значение, если произошла ошибка.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).
       ┌───────────────────────────────────────────────────────────┬──────────────────────┬────────────────────┐
       │ ИнтерфейсАтрибутЗначение           │
       ├───────────────────────────────────────────────────────────┼──────────────────────┼────────────────────┤
       │ fnmatch()                                                 │ Безвредность в нитях │ MT-Safe env locale │
       └───────────────────────────────────────────────────────────┴──────────────────────┴────────────────────┘

СТАНДАРТЫ

       fnmatch()
              POSIX.1-2008.

       FNM_FILE_NAME
       FNM_LEADING_DIR
       FNM_CASEFOLD
              GNU.

ИСТОРИЯ

       fnmatch()
              POSIX.1-2001, POSIX.2.

СМОТРИТЕ ТАКЖЕ

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

ПЕРЕВОД

       Русский перевод этой страницы  руководства  разработал(и)  Azamat  Hackimov  <azamat.hackimov@gmail.com>,
       Dmitry    Bolkhovskikh    <d20052005@yandex.ru>,    Yuri   Kozlov   <yuray@komyakino.ru>,   Иван   Павлов
       <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>

       Этот перевод является свободной программной документацией; он распространяется на условиях  общедоступной
       лицензии  GNU  (GNU  General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите  об  этом
       разработчику(ам)   по   его(их)  адресу(ам)  электронной  почты  или  по  адресу  списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                       fnmatch(3)