fnmatch -
сравнивает
имя файла
или путь
Standard C library (
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 |
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)
Русский
перевод
этой
страницы
руководства
был сделан
Azamat Hackimov <
[email protected]>, Dmitry Bolkhovskikh
<
[email protected]>, Yuri Kozlov <
[email protected]> и
Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]