Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       glob, globfree - Rechercher un chemin d'acces correspondant a 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'acces correspondant au
       motif pattern en utilisant les regles  du  shell  (consultez  glob(7)).
       Aucun   remplacement  de  tilde  ou  substitution  de  parametre  n'est
       effectue.  Si  vous  avez  besoin  de  ces  fonctionnalites,  consultez
       wordexp(3).

       La  fonction  globfree()  libere  la memoire allouee dynamiquement lors
       d'un appel precedent a glob().

       Les resultats d'un appel a  glob()  sont  stockes  dans  une  structure
       pointee  par  pglob.  Cette  structure  est de type glob_t (defini dans
       <glob.h>) et inclut les elements definis 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;     /* Entrees a reserver dans gl_pathv.  */
           } glob_t;

       Les resultats sont sauves dans une zone allouee dynamiquement.

       Le  parametre flags est constitue d'un OU binaire << | >> entre zero ou
       plus des constantes symboliques suivantes, modifiant le comportement de
       glob() :

       GLOB_ERR
              Terminer   des   qu'une  erreur  se  produit  (par  exemple,  un
              repertoire non lisible). Par defaut, glob()  tente,  malgre  les
              erreurs, de lire tous les repertoires qu'il peut.

       GLOB_MARK
              Ajoute  une barre oblique finale a chaque nom correspondant a un
              repertoire.

       GLOB_NOSORT
              Ne pas trier les chemins d'acces renvoyes. La seule raison  pour
              faire  cela est d'economiser du temps de traitement. Par defaut,
              les chemins d'acces renvoyes sont tries.

       GLOB_DOOFFS
              Reserve pglob->gl_offs points d'entree au debut de la  liste  de
              chaines   dans   pglob->pathv.   Les  points  d'entree  reserves
              contiennent des pointeurs NULL.

       GLOB_NOCHECK
              Si aucun motif ne correspond, renvoyer le  motif  original.  Par
              defaut,   glob()   renvoie   GLOB_NOMATCH  s'il  n'y  a  pas  de
              correspondance.

       GLOB_APPEND
              Ajoute les resultats  de  cet  appel  au  tableau  de  resultats
              renvoye  par  un  appel  precedent a glob(). Ne pas indiquer cet
              attribut lors du premier appel de glob().

       GLOB_NOESCAPE
              Ne  pas  permettre  l'utilisation  des  barres  contre   oblique
              (<< \ >>)   pour   desactiver   les   caracteres  d'echappement.
              Normalement, une contre oblique peut etre utilisee pour echapper
              le   caractere   qui   le  suit,  fournissant  un  mecanisme  de
              desactivation du sens particulier des meta-caracteres.

       flags peut egalement utiliser les constantes suivantes,  qui  sont  des
       extensions GNU, non definies dans POSIX.2 :

       GLOB_PERIOD
              Permettre  a  un  point  en  tete de chemin de correspondre a un
              meta-caractere. Par defaut, les meta-caracteres ne  peuvent  pas
              correspondre a un point en tete de chemin.

       GLOB_ALTDIRFUNC
              Utiliser    les   fonctions   alternatives   pglob->gl_closedir,
              pglob->gl_readdir,   pglob->gl_opendir,    pglob->gl_lstat    et
              pglob->gl_stat  pour  l'acces au systeme de fichiers au lieu des
              fonctions normales de bibliotheque.

       GLOB_BRACE
              Developper dans le style csh(1) les expressions de  type  {a,b}.
              Les  expressions entre accolades peuvent etre imbriquees. Ainsi,
              par  exemple,  specifier  le  motif   << {foo/{,cat,dog},bar} >>
              retournera  le  meme resultat que quatre appels a glob() separes
              utilisant    les    chaines :     << foo/ >>,     << foo/cat >>,
              << foo/dog >>, et << bar >>.

       GLOB_NOMAGIC
              Si  le motif renvoye ne contient pas de meta-caracteres, il sera
              retourne comme seul mot correspondant, meme s'il n'existe pas de
              fichier avec ce nom.

       GLOB_TILDE
              Prendre  en  charge  l'expansion du tilde. Si un tilde (<< ~ >>)
              est le seul caractere du motif, ou si un tilde en tete est suivi
              par  une  barre  oblique  (<< / >>),  le repertoire personnel de
              l'appelant sera substitue au tilde. Si  un  tilde  en  tete  est
              suivi  par  un nom d'utilisateur (par exemple, << ~alain/bin >>,
              le  tilde  et  le  nom  d'utilisateur  sont  substitues  par  le
              repertoire personnel de cet utilisateur. Si le nom d'utilisateur
              n'est pas valide ou si le repertoire personnel ne peut pas  etre
              determine, la substitution n'est pas effectuee.

       GLOB_TILDE_CHECK
              Fournit  un  comportement  similaire  a  celui de GLOB_TILDE. La
              difference est que si le nom d'utilisateur n'est pas valable  ou
              si  le  repertoire  personnel ne peut pas etre determine, plutot
              que d'utiliser le  motif  lui-meme  comme  nom,  glob()  renvoie
              GLOB_NOMATCH pour indiquer l'erreur.

       GLOB_ONLYDIR
              C'est  une  indication  pour  glob() indiquant que l'appelant ne
              s'interesse  qu'aux  repertoires  correspondant  au  motif.   Si
              l'implementation  peut facilement determiner le type de fichier,
              les fichiers qui  ne  sont  pas  des  repertoires  ne  sont  pas
              renvoyes  a  l'appelant.  Toutefois,  l'appelant  doit  toujours
              verifier que les fichiers renvoyes sont des repertoires. (Le but
              de  cet  attribut  est  simplement  d'optimiser les performances
              lorsque l'appelant ne s'interesse qu'aux repertoires.)

       Si errfunc n'est pas NULL, elle sera appelee en cas d'erreur, avec  les
       arguments  epath  un  pointeur sur le chemin qui a echoue, et eerrno la
       valeur de errno telle qu'elle a ete renvoyee par un appel a opendir(3),
       readdir(3)  ou  stat(2). Si errfunc renvoie une valeur non nulle, ou si
       GLOB_ERR est positionne, glob() se terminera apres l'appel de errfunc.

       Si glob() reussit completement, pglob->gl_pathc contient le  nombre  de
       chemins  d'acces correspondants et pglob->gl_pathv contient un pointeur
       sur une liste des chemins. Le premier pointeur apres le dernier  chemin
       vaut NULL.

       Il   est  possible  d'appeler  glob()  plusieurs  fois.  Dans  ce  cas,
       l'attribut GLOB_APPEND doit etre indique dans flags  durant  le  second
       appel et les suivants.

       En  tant  qu'extension  GNU,  le  champ  pglob->gl_flags  contient  les
       attributs  indiques  lies  par  un   OU   avec   GLOB_MAGCHAR   si   un
       meta-caractere a ete trouve.

VALEUR RENVOY'EE

       S'il  reussit  completement  glob()  renvoie  zero.  Les autres valeurs
       renvoyees peuvent etre :

       GLOB_NOSPACE
              pas assez de memoire,

       GLOB_ABORTED
              erreur de lecture,

       GLOB_NOMATCH
              aucune correspondance trouvee.

CONFORMIT'E

       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  indique dans POSIX.2, mais sont declares sous
       forme de int dans libc4, libc5 et glibc 2.0.

BOGUES

       La fonction glob() peut echouer  en  cas  d'erreur  dans  un  appel  de
       fonction  sous-jacent,  comme malloc(3) ou opendir(3). Le code d'erreur
       sera alors stocke 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)

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.27 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       etre       trouvees      a      l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis 2010, cette traduction est maintenue a l'aide  de  l'outil  po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   de   traduction
       francophone       au       sein        du        projet        perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Christophe  Blaess  <URL:http://www.blaess.fr/christophe/> (1996-2003),
       Alain Portal <URL:http://manpagesfr.free.fr/>  (2003-2006).   Florentin
       Duneau et l'equipe francophone de traduction de Debian (2006-2009).

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

       Vous  pouvez  toujours avoir acces a la version anglaise de ce document
       en utilisant la commande << man -L C <section> <page_de_man> >>.