ffindcmd

FFIND(1)                    General Commands Manual                   FFIND(1)



NAME
       ffindcmd, ffind - find files by name or by other characteristics in FSP
       database

SYNOPSIS
       ffindcmd pathname-list expression
       ffind pathname-list expression

DESCRIPTION
       ffindcmd recursively descends the directory hierarchy for each pathname
       in the pathname-list, seeking files that match a logical expression
       written using the operators listed below.

USAGE
   Operators
       In the descriptions, the argument n is used as a decimal integer where
       +n means more than n, -n means less than n, and n means exactly n.  All
       three maybe used if an integer argument is needed.

       -name filename True if the filename argument matches the current file
                      name.  Shell argument syntax can be used if escaped
                      (watch out for [, ? and *).

       -prune         Always yields true.  Has the side effect of pruning the
                      search tree at the file.  That is, if the current path
                      name is a directory, ffindcmd will not descend into that
                      directory.

       -type c        True if the type of the file is c, where c is one of:

                             d      for directory
                             f      for plain file

       -size n        True if the file is n blocks long (512 bytes per block).
                      If n is followed by a c, the size is in characters.

       -time n        True if the file has been accessed/modified/changed in n
                      days.

       -exec command  True if the executed command returns a zero value as
                      exit status.  The end of command must be punctuated by
                      an escaped semicolon.  A command argument {} is replaced
                      by the current pathname.

       -ok command    Like -exec except that the generated command is written
                      on the standard output, then the standard input is read
                      and the command executed only upon response y.

       -print         Always true; the current pathname is printed.

       -ls            Always true; prints current pathname together with its
                      associated statistics.  These include size in blocks
                      (512 bytes), protection mode, number of hard links,
                      user, group, size in bytes, and modification time.
                      Note: formatting is done internally, without executing
                      the fls program.

       -newer file    True if the current file has been modified more recently
                      than the argument filename.

       (expression)   True if the parenthesized expression is true.
                      Note: Parentheses are special to the shell and must be
                      escaped.

       !primary       True if the primary is false (!  is the unary not
                      operator).

       primary1 [ -a ] primary2
                      True if both primary1 and primary2 are true.  The -a is
                      not required.  It is implied by the juxtaposition of two
                      primaries.

       primary1 -o primary2
                      True if either primary1 or primary2 is true (-o is the
                      or operator).

       ffindcmd will perform csh file name globbing based on file and
       directory information obtained from the FSP database.

       Since user's command shells generally cannot do the proper globbing for
       this program, it is recommended that user defines a shell alias or
       function to turn off command shell globbing before running this
       program.  csh example:

       alias ffind \(set noglob\; exec ffindcmd \!\*\)

EXAMPLE
       To find all the files called intro.ms starting from the current
       directory:

       example% ffind . -name intro.ms -print
       ./manuals/assembler/intro.ms
       ./manuals/sun.core/intro.ms
       ./manuals/driver.tut/intro.ms
       ./manuals/sys.manager/uucp.impl/intro.ms
       ./supplements/general.works/unix.introduction/intro.ms
       ./supplements/programming.tools/sccs/intro.ms
       example%

       To recursively print all files names in the current directory and
       below, but skipping SCCS directories:

       example% ffind . -name SCCS -prune -o -print
       example%

       To recursively print all files names in the current directory and
       below, skipping the contents of SCCS directories, but printing out the
       SCCS directory name:
       example% ffind . -print -name SCCS -prune
       example%

       To remove files named a.out or *.o that have not been accessed for a
       week or more
       example% ffind . \( -name a.out -o -name *.o \) -time +7 -exec frm {} \;

ENVIRONMENT
       The following variables associate this program with a FSP database:

       FSP_HOST
              The name or internet number of the machine with the FSP server.

       FSP_PORT
              The port number of the UDP socket used by the FSP server.

       FSP_LOCALPORT
              The port number of the UDP socket used by FSP client utilities.
              The only reason to define this variable is to ensure mutual
              exclusion of client commands when none of the udp packet
              multiplexing mechanisms are enabled during compile time.  You
              may pick any number not currently used for other purposes.

       FSP_DIR
              The current working directory of the client in the FSP database.
              The root of the database is /.

       FSP_TRACE
              If this variable is set, some commands will display the number
              of kilo-byte blocks transferred as transfer progresses. Also
              shown will be an indication of the network speed in the form of
              characters per second and the retries on not answered commands.

       FSP_TIMEOUT
              If this variable is set, it contains the timeout value. The
              default value is 4.  No function if program was compiled without
              timeout code.

SEE ALSO
       fcatcmd(1), fcdcmd(1), fgetcmd(1), fgrabcmd(1), flscmd(1), fmkdir(1),
       fprocmd(1), fput(1), frmcmd(1), frmdircmd(1), fver(1), fducmd(1),
       fhostcmd(1), ffindcmd(1), fspd(1), fsp_prof(5)

BUGS
       There seems to be a problem using an alias as command to execute.  But
       since there is no globbing performed on the pathname the original FSP
       commands may be used instead.



                                 14 April 1993                        FFIND(1)