NOM

fnmatch - Rechercher une correspondance entre un nom de fichier ou un chemin et un motif

BIBLIOTHÈQUE

Bibliothèque C standard ( libc, -lc)

SYNOPSIS

#include <fnmatch.h>
int fnmatch(const char *motif, const char *chaîne, int drapeaux);

DESCRIPTION

La fonction fnmatch() vérifie si l'argument chaîne correspond au motif qui est un motif avec des méta-caractères de l'interpréteur de commandes (voir glob(7)).
L'argument drapeaux modifie le comportement de la fonction. C'est un OU binaire entre zéro ou plusieurs des drapeaux suivants :
FNM_NOESCAPE
Si ce drapeau est défini, traiter la barre oblique inverse « \ » comme un caractère ordinaire et non comme un caractère d'échappement.
FNM_PATHNAME
Si ce drapeau est défini, ne faire correspondre une barre oblique « / » dans chaîne qu'avec une barre oblique dans motif, et pas avec les méta-caractères « * » ou « ? », ni avec une expression entre crochets « [] » contenant une barre oblique.
FNM_PERIOD
Si ce drapeau est défini, un point en début de chaîne doit correspondre exactement à un point dans motif. Un point est considéré comme en début de chaîne, s'il est le premier caractère de chaîne, ou si FNM_PATHNAME est défini alors que le point suit immédiatement une barre oblique.
FNM_FILE_NAME
Il s'agit d'un synonyme GNU de FNM_PATHNAME.
FNM_LEADING_DIR
Si ce drapeau (une extension GNU) est défini, la correspondance est considérée comme correcte si le motif correspond à un segment initial de la chaîne chaîne suivi d'une barre oblique. Ce drapeau est réservé à un usage interne de la glibc et n'est pas toujours implémenté.
FNM_CASEFOLD
Si ce drapeau (une extension GNU) est défini, la correspondance est recherchée sans tenir compte de la casse.
FNM_EXTMATCH
Si ce drapeau (extension GNU) est défini, les motifs étendus sont pris en charge tels qu'introduits par « ksh », et désormais pris en charge par d'autres interpréteurs de commandes. Le format étendu se présente comme suit, liste_motifs étant une liste de motifs séparés par des « | ».
« ?(liste_motifs) »
Le motif correspond si au plus une occurrence des motifs listés dans liste_motifs correspond à la chaîne spécifiée.
« *(liste_motifs) »
Le motif correspond si zéro ou plusieurs occurrences des motifs listés dans liste_motifs correspondent à la chaîne spécifiée.
« +(liste_motifs) »
Le motif correspond si au moins une occurrence des motifs listés dans liste_motifs correspond à la chaîne spécifiée.
« @(liste_motifs) »
Le motif correspond si une et une seule occurrence des motifs listés dans liste_motifs correspond à la chaîne spécifiée.
« !(liste_motifs) »
Le motif correspond si la chaîne spécifiée ne peut correspondre à aucun des motifs listés dans liste_motifs.

VALEUR RENVOYÉE

Zéro si chaîne correspond au motif, FNM_NOMATCH s'il n'y a pas correspondance et une autre valeur non nulle s'il y a une erreur.

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface Attribut Valeur
fnmatch() Sécurité des threads MT-Safe env locale
 

STANDARDS

POSIX.1-2001, POSIX.1-2008, POSIX.2. Les drapeaux FNM_FILE_NAME, FNM_LEADING_DIR et FNM_CASEFOLD sont des extensions GNU.

VOIR AUSSI

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

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <[email protected]>, Thierry Vignaud <[email protected]>, François Micaux, Alain Portal <[email protected]>, Jean-Philippe Guérard <[email protected]>, Jean-Luc Coulon (f5ibh) <[email protected]>, Julien Cristau <[email protected]>, Thomas Huriaux <[email protected]>, Nicolas François <[email protected]>, Florentin Duneau <[email protected]>, Simon Paillard <[email protected]>, Denis Barbier <[email protected]>, David Prévot <[email protected]>, Frédéric Hantrais <[email protected]> et Lucien Gentis <[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à [email protected]

Recommended readings

Pages related to fnmatch you should read also: