NAME
       glob - Return names of files that match patterns

SYNOPSIS
       glob ?switches? pattern ?pattern ...?


DESCRIPTION
       This  command performs file name ``globbing'' in a fashion
       similar to the csh shell.  It returns a list of the  files
       whose names match any of the pattern arguments.

       If  the  initial  arguments to glob start with - then they
       are treated  as  switches.   The  following  switches  are
       currently supported:

       -directory directory
              Search  for  files  which  match the given patterns
              starting  in  the  given  directory.   This  allows
              searching  of directories whose name contains glob-
              sensitive characters without the need to quote such
              characters explicitly.  This option may not be used
              in conjunction with -path.

       -join  The remaining pattern arguments are  treated  as  a
              single  pattern  obtained  by joining the arguments
              with directory separators.

       -nocomplain
              Allows an empty list to be returned without  error;
              without  this  switch  an  error is returned if the
              result list would be empty.

       -path pathPrefix
              Search for files with the  given  pathPrefix  where
              the  rest  of  the name matches the given patterns.
              This allows searching for files with names  similar
              to  a  given file even when the names contain glob-
              sensitive characters.  This option may not be  used
              in conjunction with -directory.

       -types typeList
              Only   list   files   or  directories  which  match
              typeList, where the items  in  the  list  have  two
              forms.   The first form is like the -type option of
              the Unix find command: b (block  special  file),  c
              (character  special  file), d (directory), f (plain
              file), l (symbolic link),  p  (named  pipe),  or  s
              (socket),  where multiple types may be specified in
              the list.  Glob will return all files  which  match
              at least one of the types given.

              The second form specifies types where all the types
              given must match.   These  are  r,  w,  x  as  file
              permissions,   and   readonly,  hidden  as  special
              permission cases.  On the  Macintosh,  MacOS  types
              and  creators  are  also  supported, where any item
              which is four characters long is assumed  to  be  a
              MacOS  type  (e.g.  TEXT).   Items which are of the
              form {macintosh type XXXX}  or  {macintosh  creator
              XXXX}  will  match  types or creators respectively.
              Unrecognised types, or specifications  of  multiple
              MacOS types/creators will signal an error.

              The  two  forms  may  be mixed, so -types {d f r w}
              will find all regular  files  OR  directories  that
              have   both   read   AND  write  permissions.   The
              following are equivalent:
                             glob -type d *
                             glob */
              except that  the  first  case  doesn't  return  the
              trailing ``/'' and is more platform independent.

       --     Marks  the end of switches.  The argument following
              this one will be treated as a pattern  even  if  it
              starts with a -.

       The  pattern  arguments  may  contain any of the following
       special characters:

       ?         Matches any single character.

       *         Matches any sequence of zero or more characters.

       [chars]   Matches any single character in chars.  If chars
                 contains a sequence of the  form  a-b  then  any
                 character  between  a  and  b  (inclusive)  will
                 match.

       \x        Matches the character x.

       {a,b,...} Matches any of the strings a, b, etc.

       As with csh, a  ``.'' at the beginning of a file's name or
       just after a ``/'' must be matched explicitly or with a {}
       construct.  In addition,  all  ``/''  characters  must  be
       matched explicitly.

       If  the  first  character  in  a  pattern is ``~'' then it
       refers to the home  directory  for  the  user  whose  name
       follows  the  ``~''.  If the ``~'' is followed immediately
       by ``/'' then the value of the HOME  environment  variable
       is used.

       The  glob  command  differs from csh globbing in two ways.
       First, it does not sort its result  list  (use  the  lsort
       command  if  you want the list sorted).  Second, glob only
       returns the names of files that actually exist;  in csh no
       check for existence is made unless a pattern contains a ?,
       *, or [] construct.


PORTABILITY ISSUES
       Unlike other Tcl commands that will  accept  both  network
       and  native style names (see the filename manual entry for
       details on how native and network  names  are  specified),
       the glob command only accepts native names.

       Windows
              For Windows UNC names, the servername and sharename
              components of the path may not contain ?, *, or  []
              constructs.   On  Windows  NT, if pattern is of the
              form ``~username@domain'' it  refers  to  the  home
              directory  of  the  user  whose account information
              resides  on  the  specified   NT   domain   server.
              Otherwise,  user  account  information  is obtained
              from the local computer.  On  Windows  95  and  98,
              glob  accepts  patterns like ``.../'' and ``..../''
              for successively higher up parent directories.

       Macintosh
              When using the options, -dir, -join or -path,  glob
              assumes  the  directory  separator  for  the entire
              pattern is the  standard  ``:''.   When  not  using
              these  options, glob examines each pattern argument
              and uses ``/'' unless the pattern contains a ``:''.



KEYWORDS
