Provided by: manpages-fr-dev_2.64.1-1_all bug

NOM

       glob, globfree - Rechercher un chemin d’accès correspondant à un motif.

SYNOPSIS

       #include <glob.h>

       int glob (const char * pattern, int flags,
        int (*errfunc) (const char *epath, int eerrno),
        glob_t *pglob);
       void globfree (glob_t *pglob);

DESCRIPTION

       La fonction glob() recherche tous les chemins d’accès correspondant  au
       motif  pattern  en  utilisant les règles du shell (voir glob(7)). Aucun
       remplacement de tilde ou substitution de paramètre n’est  effectué.  Si
       vous avez besoin de ces fonctionnalités, voyez wordexp(3).

       La  fonction  globfree()  libère  la mémoire allouée dynamiquement lors
       d’un appel précédent à glob().

       Les résultats d’un appel à  glob()  sont  stockés  dans  une  structure
       pointée  par  pglob,  qui  est  du  type glob_t défini dans <glob.h> en
       incluant les éléments définis par POSIX.2 (il peut y en avoir plus sous
       forme d’extension GNU) :

          typedef struct {
              size_t   gl_pathc;    /* Nombre de chemins correspondant  */
              char   **gl_pathv;    /* Liste des chemins correspondant  */
              size_t   gl_offs;     /* Entrées à réserver dans ‘gl_pathv’.  */
          } glob_t;

       Les résultats sont sauvés dans une zone allouée dynamiquement.

       Le  paramètre  flags  est constitué d’un OU binaire « | » entre zéro ou
       plus des constantes symboliques suivantes, modifiant le comportement de
       glob() :

       GLOB_ERR
              Demande  à  glob()  de  se terminer dès qu’une erreur se produit
              (par exemple, un répertoire non lisible).

       GLOB_MARK
              Ajoute une barre oblique finale à chaque nom  aboutissant  à  un
              répertoire.

       GLOB_NOSORT
              Ne  pas  trier  les  chemins  d’accès  renvoyés (ils le sont par
              défaut).

       GLOB_DOOFFS
              Signifie que pglob->gl_offs points d’entrée seront  réservés  au
              début de la liste de chaînes dans pglob->pathv.

       GLOB_NOCHECK
              Demande  à  glob()  de  renvoyer  le  motif  original  si aucune
              correspondance n’est possible.

       GLOB_APPEND
              Ajoute les  résultats  à  ceux  d’un  appel  précédent.  Ne  pas
              indiquer cet attribut lors du premier appel de glob().

       GLOB_NOESCAPE
              Les  méta-caractères  ne  peuvent  pas  être  désactivés  par un
              backslash.

       On peut également utiliser  les  constantes  suivantes,  qui  sont  des
       extensions GNU, non définies dans POSIX.2 :

       GLOB_PERIOD
              Un   point   en   tête   de   chemin   peut  correspondre  à  un
              méta-caractère.

       GLOB_ALTDIRFUNC
              On  utilisera  comme  alternatives  aux  fonctions  normales  de
              bibliothèque       les       fonctions       pglob->gl_closedir,
              pglob->gl_readdir,   pglob->gl_opendir,    pglob->gl_lstat    et
              pglob->gl_stat.

       GLOB_BRACE
              Les  expressions de type {a,b} sont développées avec le style de
              csh(1).

       GLOB_NOMAGIC
              Le motif est renvoyé s’il ne contient pas de méta-caractères.

       GLOB_TILDE
              L’expansion du tilde est prise en charge.

       GLOB_ONLYDIR
              Seuls les répertoires sont mis en correspondance.

       Si errfunc n’est pas NULL, elle sera appelée en cas d’erreur, avec  les
       arguments  epath  un  pointeur sur le chemin qui a échoué, et eerrno la
       valeur de errno telle qu’elle a été renvoyée par un appel à opendir(3),
       readdir(3)  ou  stat(2). Si errfunc renvoie une valeur non nulle, ou si
       GLOB_ERR est positionné, glob() se terminera après l’appel de  errfunc.

       Si  glob()  réussit complètement, pglob->gl_pathc contient le nombre de
       chemins d’accès correspondants et pglob->gl_pathv est un  pointeur  sur
       une liste des chemins. Le premier pointeur après le dernier chemin vaut
       NULL.

       Il  est  possible  d’appeler  glob()  plusieurs  fois.  Dans  ce   cas,
       l’attribut  GLOB_APPEND  doit  être indiqué dans flags durant le second
       appel et les suivants.

       En  tant  qu’extension  GNU,  le  champ  pglob->gl_flags  contient  les
       attributs   indiqués   liés   par   un   OU  avec  GLOB_MAGCHAR  si  un
       méta-caractère a été trouvé.

VALEUR RENVOYÉE

       S’il réussit complètement  glob()  renvoie  zéro.  Les  autres  valeurs
       renvoyées peuvent être :

       GLOB_NOSPACE
              pas assez de mémoire,

       GLOB_ABORTED
              erreur de lecture,

       GLOB_NOMATCH
              aucune correspondance trouvée.

CONFORMITÉ À

       POSIX.2, POSIX.1-2001.

NOTES

       Les  membres gl_pathc et gl_offs de la structure glob_t sont des size_t
       dans glibc 2.1, comme indiqué dans POSIX.2,  mais  sont  déclarés  sous
       forme de int dans libc4, libc5 et glibc 2.0.

BOGUES

       La  fonction  glob()  peut  échouer  en  cas  d’erreur dans un appel de
       fonction sous-jacente, comme malloc(3) ou opendir(3). Le code  d’erreur
       sera alors stocké dans errno.

EXEMPLE

       L’exemple d’utilisation suivant simule la frappe de

       ls -l *.c ../*.c

       dans un shell :

          glob_t globbuf;

          globbuf.gl_offs = 2;
          glob("*.c", GLOB_DOOFS, NULL, &globbuf);
          glob("../*.c", GLOB_DOOFS | GLOB_APPEND, NULL, &globbuf);
          globbuf.gl_pathv[0] = "ls";
          globbuf.gl_pathv[1] = "-l";
          execvp("ls", &globbuf.gl_pathv[0]);

VOIR AUSSI

       ls(1),  sh(1),  stat(2),  exec(3),  fnmatch(3),  malloc(3), opendir(3),
       readdir(3), wordexp(3), glob(7)

TRADUCTION

       Cette page de manuel a été traduite  et  mise  à  jour  par  Christophe
       Blaess  <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
       Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et  mise  à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Florentin Duneau <fduneau@gmail.com> et l’équipe
       francophone de traduction de Debian.

       Veuillez   signaler   toute   erreur   de   traduction  en  écrivant  à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».