home *** CD-ROM | disk | FTP | other *** search
/ Micro R&D 1 / MicroRD-CD-ROM-Vol1-1994.iso / os20 / cli / find3720.lzh / Find.doc < prev    next >
Text File  |  1993-07-29  |  8KB  |  236 lines

  1.  
  2. Find 37.20 (26.7.93) © Reinhard Lübke (rel) : Documentation
  3. =====================================================================
  4.  
  5. FORMAT
  6.     Find {<name|pattern>} [[DIR] <name>] [FL|FOLLOWLINKS]
  7.     [FILES] [DIRS] [SL|SOFTLINKS] [HL|HARDLINKS]
  8.     [SINCE <date>] [UPTO <date>] [OLDER <name>] [NEWER <name>]
  9.     [FLAGS {<flag|!flag>}] [EQ|EQUAL <n>] [GT|GREATER <n>]
  10.     [LS|LESS <n>] [EXEC <string>] [BUFFER <n>] [SUM] [QUIET]
  11.     [NOREQ]
  12.  
  13. TEMPLATE
  14.     PATTERN/A,DIR/M,ALL/S,FL=FOLLOWLINK/S,
  15.     FILES/S,DIRS/S,SL=SOFTLINKS/S,HL=HARDLINKS/S,
  16.     SINCE/K,UPTO/K,OLDER/K,NEWER/K,FLAGS/K,
  17.     EQ=EQUAL/K/N,GT=GREATER/K/N,LS=LESS/K/N,
  18.     EXEC/K,BUFFER/K/N,SUM/S,QUIET/S,NOREQ/S
  19.  
  20. PURPOSE
  21.     Search for specific filesystem objects.
  22.  
  23. PATH
  24.     C:Find
  25.  
  26. SPECIFICATION
  27.     Find scans through all directories passed to Find as arguments
  28.     and through all subdirectories of those when the ALL keyword is
  29.     given. If the FOLLOWLINK option is also enabled and Find will hit
  30.     a link, either soft or hard, then Find first checks if the link
  31.     destination is a directory and if so it will enter this
  32.     directory.
  33.  
  34.     Note:    If the link is a softlink it might be possible that
  35.         the link destination is on another volume which is
  36.         currently not mounted.
  37.  
  38.     Find will also handle multidirectory assignments correctly.
  39.     During scan Find will match every filesystem object with the
  40.     given pattern. If it match, Find will check against the other
  41.     search criteria (see options below) and if they all say
  42.     "that's it" Find will output the object's name to stdout (except
  43.     if the QUIET option is enabled).
  44.  
  45.     If the matching object is a link (either hard or soft) Find
  46.     will also print the link destination, even if a softlink
  47.     destination is not available (in this case Find    will print a
  48.     warning). If at least one file matches the search criteria than
  49.     find will set the return level to 0 (RETURN_OK) otherwise to 5
  50.     (RETURN_WARN). Return levels other than 0 or 5 are indicating an
  51.     error.
  52.  
  53.     Following, there is a detailed description of all possible
  54.     options:
  55.  
  56.     PATTERN/A
  57.          That's what it is. The file name/pattern we are
  58.         looking    for. Full AmigaDOS style pattern matching is
  59.         supported. See your AmigaDOS Manual for a full
  60.         description off    pattern matching.
  61.  
  62.     DIR/M
  63.         One or more directories in which Find will look for
  64.         files. If this argument is omited, the current
  65.         directory is searched by default. If one or more
  66.         arguments are multiassignments, they will be handled
  67.         correctly. See the ASSIGN command doc for setting up
  68.         multiassignments.
  69.  
  70.     ALL/S
  71.         Normaly, Find will only scan through the directories
  72.         given as an commandline argument. If this option is
  73.         part of the command line, then Find will also scan
  74.         any subdirectory.
  75.  
  76.     FOLLOWLINK/S
  77.         When scanning through subdirectories, Find will normaly
  78.         not follow any link to a directory. If this option is
  79.         part of the commandline, then Find will follow any
  80.         links to directories. Note, if the link is a softlink
  81.         it might be that the destination is a directory or
  82.         volume that is not available (e.g. not mounted).
  83.         In this case Find complains about this and goes on.
  84.  
  85.     FILES/S
  86.         This tells Find to search for regular files.
  87.  
  88.     DIRS/S
  89.         This tells Find to search for directories.
  90.  
  91.     SOFTLINKS/S
  92.         This tells Find to search for softlinks.
  93.  
  94.     HARDLINKS/S
  95.         This tells Find to search for hardlinks.
  96.  
  97.     The above four filtype options can be combined in any way, so
  98.     that you can search for files and dirs or files and softlinks
  99.     or ... and so on. If none of of these options are selected, Find
  100.     will search for any filetype. But, if one or more of these
  101.     options are given, then Find will only take those filtypes into
  102.     account.
  103.  
  104.     SINCE/K
  105.         Limits the search to filesystem objects created on or
  106.         after a certain date.
  107.  
  108.     UPTO/K
  109.         Limits the search to filesystem objects created on or
  110.         before a certain date.
  111.  
  112.     OLDER/K
  113.         Limits the search to filesystem objects created
  114.         before a certain file's creation date.
  115.  
  116.     NEWER/K
  117.         Limits the search to filesystem objects created
  118.         after a certain file's creation date.
  119.  
  120.     Each of the above four keywords can be combined in any way to
  121.     create a reasonable date boundary. Valid dates for SINCE & UPTO
  122.     are as follows: "23-jul-93" or "yesterday" etc. The OLDER & NEWER
  123.     keywords are expecting filenames.
  124.  
  125.     FLAGS/K
  126.         This tells Find to search for objects that have specific
  127.         file and protection flags set and/or unset. This option
  128.         accepts    the following flags:
  129.  
  130.         h = hidden (normaly not used)
  131.         s = script
  132.         p = pure
  133.         a = archived
  134.         r = readable
  135.         w = writeable
  136.         e = executable
  137.         d = deleteable
  138.  
  139.         A flag with a leading '!' means that Find should search
  140.         only for those objects that have this specific flag not
  141.         set.
  142.  
  143.         Example: "FLAGS=!ase!w" will match only those files that
  144.         are NOT archived and NOT writable and that are scripts
  145.         and executable.
  146.  
  147.     EQUAL/K/N
  148.         Limits the search to filesystem objects that are
  149.         exact of a specific size (in bytes).
  150.  
  151.     GREATER/K/N
  152.         Limits the search to filesystem objects that are
  153.         greater than a specific size (in bytes).
  154.  
  155.     LESS/K/N
  156.         Limits the search to filesystem objects that are less
  157.         than  a specific size (in bytes).
  158.  
  159.     EXEC/K
  160.         Allows you to run any valid AmigaDOS command each time
  161.         a filesystem object matches the various search
  162.         criteria. The name of the object is inserted in the
  163.         command string on every occurrence of the substitution
  164.         operator %S (or %s).
  165.  
  166.         Note: During command execution the directory where the
  167.               object was found becomes the current directory.
  168.  
  169.     BUFFER/K/N
  170.         With BUFFER you can expand (or shrink) the buffer
  171.         that is allocated for holding a complete pathname.
  172.         If you have very long file and directory names and
  173.         you recursively scan through a big partition
  174.         with many subdirectories, you might run into the
  175.         error condition LINE TOO LONG. If so, try BUFFER=<n>
  176.         where n is greater than 512. The default value of
  177.         buffersize is 512.
  178.  
  179.     SUM/S
  180.         Displays a summary report at the end of the scan
  181.         (even if the QUIET option is given).
  182.  
  183.     QUIET/S
  184.         Disable all outputs except the summary report.
  185.  
  186.     NOREQ/S
  187.         Disables all AmigaDOS requesters.
  188.  
  189. EXAMPLES
  190.  
  191. 1> find #?.(c|h)
  192.  
  193. Displays all files in the current directory with extension c or h
  194.  
  195. 1> find #?.bak work: ALL EXEC "delete %s"
  196.  
  197. Displays all files on volume work: and all subdirectories with
  198. extension bak and runs the command delete on them.
  199.  
  200. 1> find #? sys: work: ram: SOFTLINKS HARDLINKS ALL
  201.  
  202. Displays all links, either hard or soft, on volume sys: work: and ram:
  203. together with their link destination.
  204.  
  205. 1> find #?.c newer pickfile.c since yesterday
  206.  
  207. Displays all files with extension c in the current directory which
  208. are created since yesterday and which are newer than pickfile.c
  209.  
  210. 1> find #? sys: ALL FL FILES FLAGS s!e EXEC "protect %s +e"
  211.  
  212. Will run the protect command on all files on volume sys: that are
  213. scripts and don't have the execuatble flags set. During scan find will
  214. follow any link to a directory, so there might be files on other volumes
  215. affected (if the link is a softlink).
  216.  
  217. 1> find #?.h INCLUDE: all files GT 2000 LS 5000
  218.  
  219. Displays all files in directory INCLUDE: (and all subs) that are greater
  220. than 2000 bytes and less than 5000.
  221.  
  222. 1> find #?.(c|h|a) PROJECTS: ALL GT 1000 LS 3000 EXEC "list %s lformat
  223. *"%%30N = %%6L bytes long*" nohead" QUIET
  224.  
  225. might produce the following output:
  226.  
  227.                     trackmon.h =   1909 bytes long
  228.                     wildstar.c =   2025 bytes long
  229.                        CxKey.c =   2702 bytes long
  230.                    WatchFile.h =   2200 bytes long
  231.                         data.c =   2160 bytes long
  232.  
  233. Notice the double % sign in the lformat string. That is because the EXEC
  234. keyword itself looks for a '%', so you have to do a double % to get a
  235. single one.
  236.