fnmatch(3) Library Functions Manual fnmatch(3)

fnmatch - porównuje nazwę pliku lub ścieżki

Standardowa biblioteka C (libc, -lc)

#include <fnmatch.h>
int fnmatch(const char *pattern, const char *string, int flags);

Funkcja fnmatch() sprawdza, czy argument string pasuje do wzorca pattern, który jest wzorcem powłoki mogącym zawierać znaki wieloznaczne (zob. glob(7)).

Argument flags modyfikuje zachowanie funkcji, jest to bitowe OR zera lub więcej spośród następujących znaczników:

Jeśli ten znacznik jest ustawiony, odwrotny ukośnik („\”) jest traktowany jako zwykły znak, a nie jako znak maskujący.
Jeśli ten znacznik jest ustawiony, ukośnik w string pasuje tylko do ukośnika w pattern, a nie do metaznaku asterysku (*) lub znaku zapytania (?), ani nie do ciągu zawartego w wyrażeniu klamrowym [] zawierającym ukośnik.
Jeśli ten znacznik jest ustawiony, początkowa kropka w string musi dokładnie pasować do kropki w pattern. Kropka jest uznawana za początkową, jeśli jest pierwszym znakiem string lub jeśli ustawiony jest znacznik FNM_PATHNAME, a kropka następuje bezpośrednio po ukośniku.
Jest to synonim GNU dla FNM_PATHNAME.
Jeśli ten znacznik (rozszerzenie GNU) jest ustawiony, wzorzec jest uznawany za pasujący jeśli pasuje do początkowego fragmentu string, po którym następuje ukośnik. Ten znacznik jest przeznaczony do wewnętrznego użytku w glibc i jest zaimplementowany tylko w niektórych przypadkach.
Jeśli ten znacznik (rozszerzenie GNU) jest ustawiony, wielkość liter jest nieistotna.
Jeśli ten znacznik (będący rozszerzeniem GNU) jest ustawiony, to obsługiwane są wzorce rozszerzone, wprowadzone przez „ksh”, a obecnie obsługiwane też przez inne powłoki. Format rozszerzony jest następujący, przy czym lista-wzorców jest listą wzorców, używającą „|” jako separatora.
'?(lista-wzorców)'
Wzorzec zostanie dopasowany, jeśli dowolny ze wzorców w liście-wzorców wystąpi w wejściowym string zero lub jeden raz.
'*(lista-wzorców)'
Wzorzec zostanie dopasowany, jeśli dowolny ze wzorców w liście-wzorców wystąpi w wejściowym string zero lub więcej razy.
'+(lista-wzorców)'
Wzorzec zostanie dopasowany, jeśli dowolny ze wzorców w liście-wzorców wystąpi w wejściowym string jeden lub więcej razy.
'@(lista-wzorców)'
Wzorzec zostanie dopasowany, jeśli dowolny ze wzorców w liście-wzorców wystąpi w wejściowym string dokładnie jeden raz.
'!(lista-wzorców)'
Wzorzec zostanie dopasowany, jeśli wejściowy string nie zostanie dopasowany z żadnym ze wzorców w liście-wzorców.

Zero jeśli string pasuje do pattern, FNM_NOMATCH jeśli nie pasuje lub inna niezerowa wartość jeśli wystąpił błąd.

Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).

Interfejs Atrybut Wartość
fnmatch() Bezpieczeństwo wątkowe MT-bezpieczne env locale

POSIX.1-2008.
GNU.

POSIX.1-2001, POSIX.2.

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

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Adam Byrtek <alpha@irc.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

2 maja 2024 r. Linux man-pages 6.9.1