JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Sun QFS and Sun Storage Archive Manager 5.3 Reference Manual     Sun QFS and Sun Storage Archive Manager 5.3 Information Library
search filter icon
search icon

Document Information

Preface

1.  User Commands (Man Pages Section 1)

alterfile(1)

archive(1)

dvt(1)

genfile(1)

pdvt(1)

release(1)

request(1)

schproj(1)

sdu(1)

segment(1)

setfa(1)

sfind(1)

sls(1)

squota(1)

ssum(1)

stage(1)

2.  Maintenance Commands (Man Pages Section 1M)

3.  Library Functions (Man Pages Section 3)

4.  Library Functions (Man Pages Section 3X)

5.  File Formats (Man Pages Section 4)

6.  Standards, Environment, and Macros (Man Pages Section 5)

7.  Device and Network Interfaces (Man Pages Section 7)

sfind(1)

NAME
     sfind - Searches for files in a directory hierarchy

SYNOPSIS
     sfind [path ...]  [expression]

AVAILABILITY
     SUNWqfs

     SUNWsamfs

DESCRIPTION
     The sfind(1) command contains Oracle Corporation extensions to
     the GNU find(1) command.  The extensions support the
     features of files that reside in Sun QFS or SAM-QFS file
     systems.

     The sfind command searches the directory tree rooted at each
     path by evaluating the specified expression from left to
     right, according to the rules of precedence.  The search
     continues until the outcome is known (the left hand side is
     false for and operations, true for or), at which point the
     sfind command moves on to the next file name.  For more
     information on the rules of precedence, see the OPERATORS
     section of this man page.

     The Oracle Corporation extensions to this command include the
     addition of several tests that reference characteristics
     specific to files that reside in a Sun QFS or SAM-QFS file
     system.  These tests are as follows:

     -admin_id n, -any_copy_archive_i, -any_copy_d, -any_copy_r,
     -any_copy_s, -any_copy_u, -any_copy_v, -archdone,
     -archive_C, -archive_d, -archive_I, -archive_n, -archived,
     -archpos n, -archpos1 n, -archpos2 n, -archpos3 n, -archpos4
     n, -copies n, -copy n, -copy_archive_i n, -copy_d n,
     -copy_r n, -copy_s n, -copy_u n, -copy_v n, -damaged,
     -is_setfa_D, -is_setfa_g, -is_setfa_s, -mt media_type,
     -mt1 media_type, -mt2 media_type, -mt3 media_type,
     -mt4 media_type, -offline, -online, -ovfl, -ovfl1, -ovfl2,
     -ovfl3, -ovfl4, -partial_on, -project pname, -release_a,
     -release_d, -release_n, -release_p, -rmedia, -rmin n,
     -rtime n, -sections n, -sections1 n, -sections2 n,
     -sections3 n, -sections4 n, -segment n, -segment_a,
     -segment_i, -segment_s, -segmented, -segments n, -setfa_g n,
     -setfa_s n, -ssum_g, -ssum_u, -ssum_v, -stage_a, -stage_d,
     -stage_n, -verify, -vsn pattern, -vsn1 pattern,
     -vsn2 pattern, -vsn3 pattern, -vsn4 pattern, -xmin n,
     -xtime n.

     For a comprehensive lists of tests, see the TESTS section of
     this man page.

     This command accepts the following options:

     path      Specifies the path to the directory to be
               searched.  If no path is specified, the sfind
               command searches the current directory.  If a path
               is specified, the path must appear on the command
               line to the left of the expression argument.  If
               specifying more than one path, separate each with
               a space character.

     expression
               An expression composed from arguments described in
               the OPTIONS, TESTS, ACTIONS, and OPERATORS
               sections of this man page.  If no expression is
               specified, -print is used.

               The expression must begin with one of the
               following characters:

               - A dash (-)
               - An opening parenthesis (()
               - A closing parenthesis ())
               - A comma (,)
               - An exclamation point (!)

               Any arguments to the left of the preceding
               character list are assumed to be paths to search.
               Any arguments to the right of the preceding
               character list are assumed to be part of the
               expression.

               An expression can be constructed from the
               following:

               o  Options, which affect overall operation rather
                  than the processing of a specific file.
                  Options always return true.  For a list of
                  possible options, see the OPTIONS section.

               o  Tests, which return a true or false value.  For
                  a list of possible tests, see the TESTS
                  section.

               o  Actions, which have side effects.  Actions
                  return a true or false value.  If expression
                  contains no actions other than -prune, the
                  -print action is performed on all files for
                  which the expression is true.  For a list of
                  possible actions, see the ACTIONS section.

               o  Operators, which separate options, tests, and
                  actions.  For a list of possible operators, see

                  the OPERATORS section.  The -and operator is
                  assumed if no operator is specified.

  OPTIONS
     An expression can contain one or more options.  The options
     always return true.  The available options are as follows:

     option    Action

     -daystart Measures times for -amin, -atime, -cmin, -ctime,
               -mmin, and -mtime from the beginning of today
               rather than from 24 hours ago.

     -depth    Processes each directory's contents before the
               directory itself.

     -follow   Dereferences symbolic links.  Implies the -noleaf
               option.  For more information, see the -noleaf
               information that follows in this list.

     -maxdepth levels
               Descends at most levels levels of directories
               below the command line arguments.  The levels
               argument muse be a nonnegative integer.  If you
               specify -maxdepth 0, the tests and actions are
               applied to the command line arguments only.  For
               more information, see the TESTS and ACTIONS
               sections of this man page.

     -mindepth levels
               Prevents any tests or actions from being performed
               at levels less than levels.  The levels argument
               must be a nonnegative integer.  If you specify
               -mindepth 1, all files except the command line
               arguments are processed.  For more information,
               see the TESTS and ACTIONS sections of this man
               page.

     -noleaf   Supresses optimization.  When specified, the
               command does not assume that directories contain 2
               fewer subdirectories than their hard link count.
               This option is needed when searching file systems
               that do not follow the UNIX directory-link
               convention.  Such file systems include CD-ROM or
               MS-DOS file systems or AFS volume mount points.

               Each directory on a typical UNIX file system has
               at least 2 hard links:  its name and its . entry.
               If subdirectories are present, each of those has a
               .. entry linked to that directory.  When the sfind
               command examines a directory, after it has statted
               2 fewer subdirectories than the directory's link

               count, it assumes that the rest of the entries in
               the directory are not directories.  That is, the
               rest of the entries are leaf files in the
               directory tree.  If only the files' names need to
               be examined, there is no need to stat them; this
               gives a significant increase in search speed.

     -test_segments
               For a segmented file, applies sfind tests to each
               individual data segment and to the index inode.
               If a sfind test returns true for a data segment or
               for a segmented file's index inode, sfind writes
               the file path, a slash, and the segment number.
               The number zero is written for the index inode's
               segment number.

               The following options always automatically enable
               the -test_segments option: -segment n, -segment_i,
               -segment_s.

               If this option is not specified, and the tests are
               applied to a segmented file, then the tests are
               applied at the file-level, and they are aggregated
               over all data segments.

               This option has no effect on test results when
               applied to unsegmented files.

               For more information, see the TESTS section of
               this man page.

     -version  Writes the sfind command's version number to
               standard error.

     -ractive  If the WORM feature is active writes the path of
               files which are retained and the retention period
               has not expired.

     -rover    If the WORM feature is active writes the path of
               files whose retention period has expired.

     -rafter   date
               If the WORM feature is active writes the path of
               files whose retention period ends after the given
               date.  The date is specified with traditional
               format CCYYMMDDHHMM. CC is the century, YY is the
               year, MM is the month, DD is the day, HH is the
               hour, and MM is minute(s).

     -rremain time
               If the WORM feature is active writes the path of
               files with retention periods with at least <time>

               left.  The time is a duration specified as a
               combination of years, days, hours, and minutes
               given as a string "MyNdOhPm" where M, N, O, P are
               arbitrary non-negative integers. y, d, h, m
               represent the number of years, days, hours, and
               minute(s) for the search.

     -rlonger <time>
               If the WORM feature is active writes the path of
               files with retention periods longer than <time>.
               The time is a duration specified as a combination
               of years, days, hours, and minutes given as a
               string "MyNdOhPm" where M, N, O, P are arbitrary
               non-negative integers. y, d, h, m represent the
               number of years, days, hours, and minute(s) for
               the search.

     -rpermanent
               If the WORM feature is active writes the path of
               files whose retention period is permanent.

     -xdev     Prevents the command from descending directories
               on other file systems.

  TESTS
     An expression can contain one or more tests.  Many tests
     accept a numeric argument, n.  The numeric arguments can be
     specified with a preceding plus sign (+) or minus sign (-),
     as follows:

     n Format  Meaning

     +n        Greater than n.

     -n        Less than n.

      n        Exactly n.

     The available tests are as follows:

     test      Condition

     -admin_id n
               File has admin id number n.

     -amin n   File was last accessed n minutes ago.

     -anewer file
               File was last accessed more recently than file was
               modified.  The -anewer test affects the -follow
               option only if the -follow option comes before (is
               to the left of) the -anewer test on the command

               line.

     -any_copy_archive_i
               File's copy is marked to be archived immediately.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               the segmented file's index inode's copy is marked
               to be archived immediately or one of the file's
               data segment's copy is marked to be archived
               immediately.

     -any_copy_d
               File has an archive copy that is damaged.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               the segmented file's index inode has an archive
               copy that is damaged or if at least one of the
               file's data segments has an archive copy that is
               damaged.

     -any_copy_r
               File has an archive copy marked for rearchiving by
               the rearch(1M) command or by the recycler.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               the segmented file's index inode has an archive
               copy marked for rearchiving or if at least one of
               the file's data segments has an archive copy
               marked for rearchiving.

     -any_copy_s
               File has an archive copy that is stale.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               the segmented file's index inode has an archive
               copy that is stale or if at least one of the
               file's data segments has an archive copy that is
               stale.

     -any_copy_u
               File has an unarchived copy.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               the segmented file's index inode has an unarchived
               copy or if at least one of the file's data
               segments has an unarchived copy.

     -any_copy_v
               File has an archive copy that is verified.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               the segmented file's index inode has an archive
               copy that is verified or if all of the file's data
               segments have an archive copy that is verified.

     -archdone File has completed archive processing.  The
               archiver has no further work to do on the file at
               this time.  Note that this does not mean that the
               file has been archived.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true for
               a segmented file if and only if all of the file's
               data segments have completed archive processing.
               This test does not evaluate a segmented file's
               index inode to see if it has completed archive
               processing.

     -archive_C
               File has had the equivalent of archive -C run
               against it, so the concurrent archiving is
               enabled.  For more information on the -C option to
               the archive(1) command, see the archive(1) man
               page.

     -archive_d
               File has had the equivalent of archive -d run
               against it, so the archiver handles it according
               to system defaults.  For more information on the
               -d option to the archive(1) command, see the
               archive(1) man page.

     -archive_I
               File has had the equivalent of archive -I run
               against it, so the inconsistent archiving is
               supported.  For more information on the -I option
               to the archive(1) command, see the archive(1) man
               page.

     -archive_n
               File has had the equivalent of archive -n run
               against it, so it will never be archived.  For
               more information on the -n option to the
               archive(1) command, see the archive(1) man page.

     -archived File is archived.

               For a segmented file, if the -test_segments option

               is not in effect, this test evaluates to true if
               all of the file's data segments are archived.
               This test does not evaluate a segmented file's
               index inode to see if it has been archived.  The
               following sfind command finds files on /sam6 whose
               index inode has been archived:

               sfind /sam6 -archived -segment_i -print

               The preceeding sfind command identifies only index
               inodes that have been archived; it does not yield
               any information regarding whether a segmented
               file's data segments have been archived.

     -archpos n
               File has at least one archive copy at position n.
               Note that n may be preceded by + or -, and
               specified in decimal, or hexadecimal if preceded
               by "0x".  This position is the position prior to
               the decimal point in sls output or the archiver
               log.  If n is a path starting with "d" or "f" it
               is interpreted as a relative path to a disk
               archive file.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               the file's index inode has at least one archive
               copy at position n or if at least one of the
               file's data segments has at least one archive copy
               at position n.

     -archpos1 n
     -archpos2 n
     -archpos3 n
     -archpos4 n
               File has the indicated copy number (1-4) at
               position n.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               the file's index inode has the indicated archive
               copy at position n or if at least one of the
               file's data segments has the indicated archive
               copy at position n.

     -atime n  File was last accessed n*24 hours ago.

     -cmin n   File status was last changed n minutes ago.

     -cnewer file
               File status was last changed more recently than
               file was modified.  The -cnewer test is affected

               by the -follow option only if the -follow option
               comes before (is to the left of) the -cnewer test
               on the command line.

     -copies n File has n archive copies.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               each of the file's data segments have n archive
               copies.  This test does not evaluate a segmented
               file's index inode to see if it has n archive
               copies.

     -copy n   File has an archive copy number n.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               each of the file's data segments have an archive
               copy number n.  This test does not evaluate a
               segmented file's index inode to see if it has an
               archive copy number n.

     -copy_archive_i n
               File's copy n is marked to be archived
               immediately.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               the segmented file's index inode's copy n is
               marked to be archived immediately or if at least
               one of the file's data segment's copy n is marked
               to be archived immediately.

     -copy_d n File has an archive copy number n that is damaged.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               the segmented file's index inode has an archive
               copy number n that is damaged or if at least one
               of the file's data segments has an archive copy
               number n that is damaged.

     -copy_r n File has an archive copy number n marked for
               rearchiving by the rearch(1M) command or by the
               recycler.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               the segmented file's index inode has an archive
               copy number n marked for rearchiving or if at
               least one of the file's data segments has an
               archive copy number n marked for rearchiving.

     -copy_s n File has a stale archive copy number n.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               the segmented file's index inode has a stale
               archive copy number n or if at least one of the
               file's data segment has a stale archive copy
               number n.

     -copy_u n File's archive copy number n is unarchived by the
               unarchive(1M) command.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               the segmented file's index inode's archive copy
               number n is unarchived or if at least one of the
               file's data segment's archive copy number n is
               unarchived.

     -copy_v n File has an archive copy number n that is
               verified.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               the segmented file's index inode has an archive
               copy number n that is verified or if all of the
               file's data segments have an archive copy number n
               that is verified.

     -ctime n  File status was last changed n*24 hours ago.

     -damaged  File is damaged.

     -empty    File is empty and is either a regular file or a
               directory.

     -false    Always false.

     -fstype type
               File is on a file system of type type.  Possible
               file system types differ among the different UNIX
               versions and include, but are not limited to, the
               following:  ufs, 4.2, 4.3, nfs, tmp, mfs, S51K,
               and S52K.  You can use the -printf action with its
               %F argument to obtain the types of your file
               systems.  For more information on -printf, see the
               ACTIONS section.

     -gid n    File has n for its numeric group ID.

     -group gname
               File belongs to group gname.  A numeric group ID

               is allowed.

     -ilname pattern
               Like -lname, but the match is case insensitive.

     -iname pattern
               Like -name, but the match is case insensitive.
               For example, a pattern of fo* and F?? both match
               file names Foo, FOO, foo, fOo, and so on.

     -inum n   File has inode number n.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               any of the file's data segments or its index inode
               have inode number n.

     -ipath pattern
               Like -path, but the match is case insensitive.

     -iregex pattern
               Like -regex, but the match is case insensitive.

     -is_setfa_D
               File has had its directio set using the setfa -D
               command.  For more information on the setfa -D
               command, see the setfa(1) man page.

     -is_setfa_g
               File has had its stripe group number set using the
               setfa -g command.  For more information on the
               setfa -g command, see the setfa(1) man page.

     -is_setfa_s
               File has had its stripe width set using the
               setfa -s command.  For more information on the
               setfa -s command, see the setfa(1) man page.

     -links n  File has n links.

     -lname pattern
               File is a symbolic link whose contents match shell
               pattern pattern.  The metacharacters do not treat
               the slash character (/) or the period character
               (.) specially.

     -mmin n   File's data was last modified n minutes ago.

     -mt media_type
               File has an archive copy on the specified
               media_type on any copy.

     -mt1 media_type
     -mt2 media_type
     -mt3 media_type
     -mt4 media_type
               File has an archive copy on the specified
               media_type for the indicated copy number (1-4).

     -mtime n  File's data was last modified n*24 hours ago.

     -name pattern
               Base of file name (the path with the leading
               directories removed) matches shell pattern
               pattern.  The metacharacters (*, ?, and [ ]) do
               not match a . at the start of the base name.  To
               ignore a directory and the files under it, use the
               -prune action.  For more information, see the
               example in the -path test in this list.

     -newer file
               File was modified more recently than file.  The
               -follow option affects the -newer test only if the
               -follow option comes before (is to the left of)
               the -newer test on the command line.

     -nouser   No user corresponds to the file's numeric user ID.

     -nogroup  No group corresponds to the file's numeric group
               ID.

     -offline  File is offline.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               the file's index inode is offline or if all of the
               file's data segments are offline.

     -online   File is online.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               the file's index inode is online and all of the
               file's data segments are online.

     -ovfl     File has at least one archive copy that has
               sections on more than one VSN; this condition is
               known as volume overflow.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               the file's index inode has at least one archive
               copy that has sections on more than one VSN or if
               at least one of the file's data segments has an

               archive copy that has sections on more than one
               VSN.

     -ovfl1
     -ovfl2
     -ovfl3
     -ovfl4    File has an archive copy that has sections on more
               than one VSN for the indicated copy number (1-4).

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               the file's index inode has an archive copy that
               has sections on more than one VSN for the
               indicated copy number or if at least one of the
               file's data segments has an archive copy that has
               sections on more than one VSN for the indicated
               copy number.

     -partial_on
               File has the partial-release attribute set and the
               partially retained portion of the file is online.

     -path pattern
               File name matches shell pattern pattern.  The
               metacharacters do not treat the slash (/) or the
               period (.) specially.  For example, the following
               line writes an entry for a directory called
               ./src/misc (if one exists):

               sfind . -path './sr*sc'

               To ignore a whole directory tree, use the -prune
               action rather than checking every file in the
               tree.  For example, the following command skips
               the directory src/emacs for all files and
               directories under it and it writes the names of
               the other files found:

               sfind . -path './src/emacs' -prune -o -print

     -perm mode
               File's permission bits are exactly mode (octal or
               symbolic).  Symbolic modes use mode 0 as a point
               of departure.

     -perm -mode
               All of the permission bits mode are set for the
               file.

     -perm +mode
               Any of the permission bits mode are set for the
               file.

     -project pname
               File belongs to project pname.  A numeric project
               ID is allowed.

     -regex pattern
               File name matches regular expression pattern.
               This is a match on the whole path, not a search.
               For example, to match a file named ./fubar3, you
               can use the regular expression .*bar. or .*b.*3,
               but not b.*r3.

     -release_d
               File has had the equivalent of having the
               release(1) command with its -d option run against
               it, and thus has the default release handling.

     -release_a
               File has had the equivalent of having the
               release(1) command with its -a option run against
               it, and thus will be released immediately after
               being archived.

     -release_n
               File has had the equivalent of having the
               release(1) command with its -n option run against
               it, and thus will never be released.

     -release_p
               File has had the equivalent of having the
               release(1) command with its -p option run against
               it, and thus will be partially released.

     -rmedia   File is a removable media file.

     -rmin n   File's residence was changed n minutes ago.

     -rtime n  File's residence was changed n*24 hours ago.

     -sections n
               File has at least one archive copy that has
               sections on n VSNs.

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               the file's index inode has at least one archive
               copy that has sections on n VSNs or if at least
               one of the file's data segments has an archive
               copy number n that has sections on n VSNs.

     -sections1 n
     -sections2 n
     -sections3 n

     -sections4 n
               File has an archive copy that has sections on n
               VSNs for the indicated copy number (1-4).

               For a segmented file, if the -test_segments option
               is not in effect, this test evaluates to true if
               the file's index inode has at least one archive
               copy that has sections on n VSNs for the indicated
               copy number or if at least one of the file's data
               segments has an archive copy number n that has
               sections on n VSNs.

     -segment n
               Data segment or index inode has segment number n.

               Index inodes always have segment number 0.  Data
               segments are numbered sequentially starting with
               1.

               This test always causes sfind to run as if the
               -test_segments option were in effect.

     -segment_a
               File or directory has had the segment attribute
               set.

               If the -test_segments option is also in effect,
               then this test evaluates to true for index inodes
               and data segments in addition to files and
               directories that have had the segment attribute
               set.

     -segment_i
               Item is an index inode.

               This test always causes sfind to run as if the
               -test_segments option were in effect.

     -segment_s
               Item is a data segment.

               This test always causes sfind to run as if the
               -test_segments option were in effect.

     -segmented
               Item is a segmented file.

               If used in conjunction with the -test_segments
               option, this test evaluates to true for index
               inodes and data segments.

     -segments n

               Segmented file has n data segments.

     -setfa_g n
               File's stripe group was set to n using the command
               setfa -g n.  For more information on the setfa -g
               command, see the setfa(1) man page.

     -setfa_s n
               File's stripe width was set to n using the command
               setfa -s n.  For more information on the setfa -s
               command, see the setfa(1) man page.

     -size n[unit]
               File uses n 512-byte blocks.  To specify another
               size, use the unit suffix.  The possible unit
               specifiers are as follows:

               unit      Meaning

               b or c    Bytes.

               k         Kilobytes.

               m         Megabytes.

               g         Gigabytes.

               t         Terabytes.

               For example, the following specifications are
               equivalent:

               -size 3
               -size 1536b

               The -size test does not count indirect blocks, but
               it does count blocks in sparse files that are not
               actually allocated.

     -ssum_g   File has had the equivalent of the ssum(1) command
               with its -g option run against it, and thus will
               have a checksum value generated and stored for it
               when it is archived.

     -ssum_u   File has had the equivalent of the ssum(1) command
               with its -u option run against it, and thus will
               have a checksum value verified (used) when it is
               staged.

     -ssum_v   File has a valid checksum value.

               For a segmented file, if the -test_segments option

               is not in effect, this test evaluates to true if
               all of the file's data segments have valid
               checksum values.  This test does not evaluate a
               segmented file's index inode to see if it has a
               valid checksum value.

     -stage_a  File has had the equivalent of the stage(1)
               command with its -a option run against it, and
               thus will have associative staging behavior.

     -stage_d  File has had the equivalent of the stage(1)
               command with its -d option run against it, and
               thus will have the default staging behavior.

     -stage_n  File has had the equivalent of the stage(1)
               command with its -n option run against it, and
               thus will not be staged into disk cache for read
               references.

     -true     Always true.

     -type c   File is of type c.  For c, specify one of the
               following:

               Type c    Meaning

               b         Block (buffered) special.

               c         Character (unbuffered) special.

               d         Directory.

               p         Named pipe (FIFO).

               f         Regular file.

               l         Symbolic link.

               s         Socket.

               R         Removable media file.

     -uid n    File's numeric user ID is n.

     -used n   File was last accessed n days after its status was
               last changed.

     -user uname
               File is owned by user uname (numeric user ID
               allowed).

     -verify   File has the verify attribute set.  See the

               ssum(1) man page for more information on the
               verify attribute.

     -vsn pattern
               File has an archive copy on a volume with VSN
               matching shell pattern pattern for any copy.

     -vsn1 pattern
     -vsn2 pattern
     -vsn3 pattern
     -vsn4 pattern
               File has an archive copy on a volume with VSN
               matching shell pattern pattern for the indicated
               copy (1-4).

     -xmin n   File's data was created n minutes ago.

     -xtime n  File's data was created n*24 hours ago.

     -xtype c  The same as -type unless the file is a symbolic
               link.  For symbolic links, the -xtype test checks
               the type of the file that the -type test does not
               check.  For c values, see the -type test in this
               list.

               For symbolic links, the following occurs:

               o  If the -follow option has not been specified,
                  the test returns true if the file is a link to
                  a file of type c.

               o  If the -follow option has been specified, the
                  test returns true if c is l.

  ACTIONS
     An expression can contain one or more actions.  The
     available actions are as follows:

     action    Result

     -exec command ;
               Executes the specified command.  True if 0 status
               is returned.  All arguments to the right of the
               -exec keyword are assumed to be arguments to
               command until an argument consisting of a
               semicolon (;) is encountered.  The string {} is
               replaced by the current file name being processed
               everywhere it occurs in the arguments to the
               command, not just in arguments where it is alone,
               as in some versions of the find(1) command.  Both
               of these constructions might need to be escaped
               with a backslash character (\) or quoted to

               protect them from expansion by the shell.

     -fprint file
               True.  Writes the full file name to file file.  If
               file does not exist when sfind is run, it is
               created.  If file does exist, it is truncated.
               The file names /dev/stdout and /dev/stderr are
               handled specially; they refer to the standard
               output and standard error output, respectively.

     -fprint0 file
               True.  Similar to the -print0 action, but it
               writes to file like -fprint.

     -fprintf file format
               True.  Similar to the -printf action, but it
               writes to file, using format, like the -fprint
               action.  For information on possible format
               option, see the -printf format action.

     -ok command ;
               Executes the specified command, like the -exec
               action, but it asks the user first (on the
               standard input).  If the user response does not
               start with y or Y, command is not run, and the
               return value is false.

     -print    True.  Writes the full file name, followed by a
               newline, to standard output.

     -print0   True.  Writes the full file name, followed by a
               null character, to standard output.  This allows
               file names that contain newlines to be interpreted
               correctly by programs that process the sfind
               output.

     -printf format
               True.  Writes format to standard output,
               interpreting both backslash (\) escape and percent
               character (%) directives.  Field widths and
               precisions can be specified as with the printf(3C)
               C library function.  Unlike the -print action, the
               -printf action does not add a newline at the end
               of the string.

               Two lists follow.  The escapes are listed first,
               and the directives are listed after the escapes.

               Esc  Result

               \a   Alarm bell.

               \b   Backspace.

               \c   Stops printing from this format immediately.

               \f   Form feed.

               \n   Newline.

               \r   Carriage return.

               \t   Horizontal tab.

               \v   Vertical tab.

               \\   A literal backslash (\).

               A backslash character (\) followed by any other
               character is treated as an ordinary character, so
               both are written.

               The directives begin with a percent (%) character
               followed by another character from the following
               list.  If the % character is followed by a
               character that is not from this list, the
               directive is discarded, but the other character is
               printed.  The directives are as follows:

               Dir   Meaning

               %%    A literal percent sign.

               %a    File's last access time in the format
                     returned by the C ctime(3C) function.

               %Ak   File's last access time in the format
                     specified by k, which is either an ampersand
                     (@) or a directive for the C strftime(3C)
                     function.  The directives specify either the
                     time or date.  The possible values for k
                     follow.  Some of them might not be available
                     on all systems, due to differences in the
                     strftime(3C) function between systems.

                    o  An ampersand (@).  The ampersand signifies
                       seconds elapsed since Jan. 1, 1970, 00:00
                       GMT.

                    o  A time field.  The time fields are as
                       follows:

                       k    Meaning

                       H    The hour in 00, ..., 23 format.

                       I    The hour in 01, ..., 12 format.

                       k    The hour in 0, ..., 23 format.

                       l    The hour in 1, ..., 12 format.

                       M    The minute in 00, ..., 59 format.

                       p    Specifies whether the locale's time
                            is AM or PM.

                       r    The time in a 12-hour format.  This
                            results in a hh:mm:ss [A | P]M
                            format.

                       S    The second in a 00, ..., 61 format.

                       T    The time in a 24-hour format.  This
                            results in a hh:mm:ss format.

                       X    The locale's time representation in
                            H:M:S.

                       Z    The time zone (for example, EDT) or
                            nothing (if no time zone is
                            determinable).

                    o  A date field.  The date fields are as
                       follows:

                       k    Meaning

                       a    The locale's abbreviated weekday name
                            in Sun, ..., Sat format.

                       A    The locale's full weekday name, in
                            Sunday, ..., Saturday format.  This
                            is of variable length.

                       b, h The locale's abbreviated month name
                            in Jan, ..., Dec format.

                       B    The locale's full-month name in
                            January, ..., December format.  This
                            is of variable length.

                       c    The locale's date and time in the
                            following example format:  Sat Nov 04
                            12:02:33 EST 1989.

                       d    The day of month in 01, ..., 31
                            format.

                       D    The date in mm/dd/yy format.

                       j    The day of year in 001, ..., 366
                            format.

                       m    The month in 01, ..., 12 format.

                       U    The number of the week in the year,
                            with Sunday considered to be the
                            first day of week, in 00, ..., 53
                            format.

                       w    The day of week in 0, ..., 6 format.

                       W    The number of the week in the year,
                            with Monday considered to be the
                            first day of week, in 00, ..., 53
                            format.

                       x    The locale's date representation in
                            mm/dd/yy format.

                       y    The last two digits of year in 00,
                            ..., 99 format.

                       Y    The year in the following example
                            format:  2002.

               Dir   Meaning

               %b    File's size in 512-byte blocks (rounded up).

               %B    File's start time for the WORM retention
                     period in the format returned by the C
                     ctime(3C) function.

                     A dash (-) is written if the item is not a
                     WORM, or does not reside in a QFS or SAM-QFS
                     file system.

               %c    File's last status change time in the format
                     returned by the C ctime(3C) function.

               %Ck   File's last status change time in the format
                     specified by k, which is the same as for the
                     %Ak directive.  For more information, see
                     the %Ak directive previously in this list.

               %d    File's depth in the directory tree.  A zero

                     (0) means that the file is a command line
                     argument.

               %e    File's creation time in the format returned
                     by the C ctime(3C) function.

                     A dash (-) is written if the item does not
                     reside in a QFS or SAM-QFS file system.

               %Ek   File's creation time in the format specified
                     by k, which is the same as for %Ak.  For
                     more information, see the %Ak directive
                     previously in this list.

                     A dash (-) is written if the item does not
                     reside in a QFS or SAM-QFS file system.

               %f    File's name with any leading directories
                     removed.

               %F    Type of file system the file is on.  This
                     value can be used for the -fstype test.

               %g    File's group name.  This is the numeric
                     group ID if the group has no name.

               %G    File's numeric group ID.

               %h    Leading directories of file's name.

               %H    Command line argument under which file was
                     found.

               %i    File's inode number in decimal.

               %j    File's last attribute change time in the
                     format returned by the C ctime(3C) function.

                     A dash (-) is written if the item does not
                     reside in a QFS or SAM-QFS file system.

               %Jk   File's last attribute change time in the
                     format specified by k, which is the same as
                     for %Ak.  For more information, see the %Ak
                     directive previously in this list.

                     A dash (-) is written if the item does not
                     reside in a QFS or SAM-QFS file system.

               %k    File's size in 1K blocks rounded up.

               %K    Segment number of the data segment or the

                     index inode.

                     Index inodes always have segment number 0.
                     Data segments are numbered sequentially
                     starting with 1.

                     A dash (-) is written if the item is not an
                     index inode and not a data segment.

               %l    Object of symbolic link.  Empty string if
                     file is not a symbolic link.

               %m    File's permission bits in octal.

               %n    Number of hard links to file.

               %p    File's name.

               %P    File's name with the name of the command
                     line argument under which it was found
                     removed.

               %Q    Number of data segments that comprise the
                     segmented file.

                     A dash (-) is written if the item is not a
                     segmented file.

               %r    File's stripe group number as it was set
                     using the setfa -g command.  A dash (-) is
                     written if the file's stripe group number
                     was not set using setfa -g or if the file
                     does not reside in a Sun QFS file system.
                     For more information on the setfa -g
                     command, see the setfa(1) man page.

               %R    The WORM retention period for a WORM capable
                     directory or WORM file in YYYYy, DDd, HHh,
                     MMm format. If the retention period is 0,
                     "permanent" is written.

                     A dash (-) is written if the item is not a
                     WORM, or does not reside in a QFS or SAM-QFS
                     file system.

               %s    File's size in bytes.

               %t    File's last modification time in the format
                     returned by the C ctime(3C) function.

               %Tk   File's last modification time in the format
                     specified by k, which is the same as for

                     %Ak.  For more information, see the %Ak
                     directive previously in this list.

               %u    File's user name, or numeric user ID if the
                     user has no name.

               %U    File's numeric user ID.

               %w    File's stripe width as it was set using the
                     setfa -s command.  A dash (-) is written if
                     the file's stripe width was not set using
                     setfa -s or if the file does not reside in a
                     Sun QFS or SAM-QFS file system.  For more
                     information on the setfa -s command, see the
                     setfa(1) man page.

               %W    The retention state of the item. If the WORM
                     is capable for a directory, worm-capable is
                     written, or active or over is written for a
                     file.

                     A dash (-) is written if the item is not a
                     WORM, or does not reside in a QFS or SAM-QFS
                     file system.

               %X    File's date the WORM retention period will
                     expire in the format of %c of the C
                     strftime(3C) function. If the retention
                     period is 0 (never expire), "*" is written.

                     A dash (-) is written if the item is not a
                     WORM, or does not reside in a QFS or SAM-QFS
                     file system.

               %y    File's residence time in the format returned
                     by the C ctime(3C) function.

                     A dash (-) is written if the item does not
                     reside in a QFS or SAM-QFS file system.

               %Yk   File's residence time in the format
                     specified by k, which is the same as for
                     %Ak.  For more information, see the %Ak
                     directive previously in this list.

                     A dash (-) is written if the item does not
                     reside in a QFS or SAM-QFS file system.

               %Z    Segment length setting in megabytes.  A dash
                     (-) is written if the item does not have the
                     segment attribute set.

     -prune
          Always yields true.  Does not examine any directories
          or files in the directory structure below the pattern
          just matched.  If -depth is  specified, -prune has no
          effect.

     -ls  True.  Writes information on the current file to
          standard output.  The information written is in ls(1)
          command format with -dils options.  For more
          information on the ls(1) command, see the ls(1) man
          page.

          By default, the block counts in the output are in 1K
          blocks.  If the POSIXLY_CORRECT environment variable is
          set, block counts are in 512-byte blocks.

  OPERATORS
     An expression can contain one or more operators.  The
     following operators are listed in order of decreasing
     precedence:

     operators      Action

     ( expr )       Forces precedence.

     ! expr         True if expr is false.

     -not expr      Same as ! expr.

     expr1 expr2    And (implied).  expr2 is not evaluated if
                    expr1 is false.

     expr1 -a expr2 Same as expr1 expr2.

     expr1 -and expr2
                    Same as expr1 expr2.

     expr1 -o expr2 Or. expr2 is not evaluated if expr1 is true.

     expr1 -or expr2
                    Same as expr1 -o expr2.

     expr1 , expr2  List.  Both expr1 and expr2 are always
                    evaluated.  The value of expr1 is discarded.
                    The value of the list is the value of expr2.

EXAMPLES
     Example 1.  The following command finds all files in the
     /sam4 directory that are not archived:

     sfind /sam4 ! -archived

     Example 2.  The following command finds all regular files in
     the current directory that are archived, online, and are
     nonzero in length:

     sfind .  -archived -online ! -empty -type f -print

     Example 3.  The following command finds all regular files in
     the current directory that have archive copies on VSNs
     matching the shell pattern  TP??3?.  Note that shell
     wildcard characters must be escaped or quoted.

     sfind .  -vsn "TP??3?" -type f

     Alternatively, the following command could be used:

     sfind .  -vsn TP\?\?3\? -type f

     Example 4.  The following command prints the modification
     time of all files in /sam6:

     sfind /sam6 -printf "file %f mod time %Aa %Ab %Ad %AY %AT\n"
     file file7 mod time Fri Nov 12 1999 18:44:27

     Example 5.  The following command finds all files on /sam6
     that have at least one archive copy that has sections on
     more than one VSN, i.e. all files on /sam6 that have at
     least one archive copy that overflows VSNs.

     sfind /sam6 -ovfl -print

     Example 6.  The following command finds all files on /sam6
     that have at least one archive copy that has sections on
     more than one VSN, but fewer than five VSNs.

     sfind /sam6 -sections +1 -sections -5 -print

     Example 7.  The following command finds all files in /sam6
     whose stripe group was set to a value greater than 3 but
     less than 8 and whose stripe width was set to a value
     greater than 1, but less than 5.  It prints the file's path,
     stripe group number and stripe width value:

     sfind /sam6 -type f -setfa_g +3 -setfa_g -8 -setfa_s +1 -setfa_s -5 \
                                     -printf "Path: %p, g%r, s%w\n"
     Path: /sam6/seismic_scan/030610/1200/scn.dat, g4, s2

     Example 8.  The following command finds all files in /sam6
     which have disk archive copies on disk volume "diskv1" in
     file "d1/d4/d201/f107".

     sfind /sam6 -vsn diskv1 -archpos d1/d4/d201/f107

EXIT STATUS
     The sfind(1) command exits with status of 0 if all files are
     processed successfully.  It exits with a status greater than
     0 if errors occur.

SEE ALSO
     archive(1), find(1), release(1), setfa(1), ssum(1),
     stage(1).

     rearch(1M).

     printf(3C).