home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / diskmanager / gfind_1 / ReadMe < prev   
Text File  |  1995-05-24  |  5KB  |  137 lines

  1. Name:    GFind
  2. Purpose: Comprehensive disc searching utility
  3. Author:  GNU
  4. Porter:  Andrew Brooks (arb@sat.dundee.ac.uk)
  5. Version: 4.1  (RISC OS beta release 1.02)
  6. Status:  Distributable under the GNU License
  7.  
  8.  
  9. Introduction
  10. ------------
  11. Gfind is a port of GNU Find, a sophisticated tool for searching discs.
  12. See the manual page for full usage, but briefly:
  13. * gfind [paths] [predicates]
  14.                    Search disc starting from given path(s) looking for
  15.                    files that match given predicates.
  16.                    Default path is @, default predicate is -print.
  17. * gfind --help     Show command line syntax and options.
  18. * gfind            List all files under current directory,
  19.                    same as gfind @ -print
  20. * gfind $ -ls      List all files on current filing system,
  21.                    displaying them in the same format as unix ls.
  22. * gfind -mtime -3  List all files modified within the last 3 days.
  23.                    (Use +3 for 'greater than 3 days ago').
  24. * gfind -type d    List all directories
  25. * gfind -type f    List all files
  26. * gfind -filetype fff -o -filetype obey
  27.                    List all files of type &FFF (Text) or Obey.
  28. * gfind ( ( -name o -prune ) -o ( -name f* -o -name p* ) ) -type f -ls 
  29.                    List in full all files with names matching f* or p*
  30.                    but don't descend directories with the name 'o'.
  31. * gfind -exec fileinfo {} ;
  32.                    Execute the given command (fileinfo in this case)
  33.                    for each item, the {} are replaced by the pathname,
  34.                    the ; terminates the command to be executed.
  35. * gfind -iname fi* -throwback
  36.                    Find all objects with name beginning with fi and
  37.                    throwback their pathname to a suitable editor.
  38.  
  39. A DDE interface is supplied but it only allows a simple subset of
  40. options to be used, hopefully the most common and useful. For more
  41. details see its Help file (select Help from the filer menu).
  42.  
  43.  
  44. Notes
  45. -----
  46. The -filetype and -throwback predicates are RISC OS extensions.
  47.  
  48. Image files (eg. SparkFS or ArcFS archives) are treated as files for the
  49. purposes of operations like -type (ie. -type d returns false) but they
  50. are entered as directories when traversing the tree.
  51.  
  52. Inode, device, user and group numbers are all zero.
  53.  
  54. Atime and ctime use the value of mtime.
  55.  
  56. Xargs and locate have not been ported.
  57.  
  58. Link handling is unknown and a large number of options are untested.
  59.  
  60. The RISC OS shell does not require filename patterns to be escaped, so
  61. for example you can say  -name f*  where on unix you need  -name "f*".
  62. Likewise with command: {} and ; do not need to be escaped.
  63.  
  64. Filename matching is case sensitive for -name but insensitive (like
  65. RISC OS) for -iname.
  66.  
  67. Executing commands is slow due to the hoops that system() has to
  68. jump through.  It should be safe to execute commands other than those
  69. built-in (ie. commands which use application memory) though.
  70.  
  71. Throwback of filenames only is not possible so I have to fake an info
  72. message (the filename) on line one of the file.
  73.  
  74. The previously selected directory will not be restored on RISC OS 2.
  75.  
  76. The manual has not been updated with RISC OS modifications.
  77.  
  78.  
  79. RISC OS Port
  80. ------------
  81. Only minor modifications were necessary to port find to RISC OS.
  82. These included:
  83. * Use of a bug-fixed version of Paul Moore's utils library for stat().
  84. * Use of a fake set of unix header files for everything else.
  85. * Removal of inode and device number re-traversal checks.
  86. * Fake UNIX functions used for handling links, password and group files.
  87. * Some header file modifications and a custom config.h
  88. UnixLib was not used.
  89. Gunnar Zoetl's Public Domain throwback library was used, thanks Gunnar!
  90. One modification: call free(current_pathname) in throwback_processing().
  91.  
  92.  
  93. Bugs
  94. ----
  95. Any bugs found are most likely introduced by the porting process
  96. and should not be a reflection on the original GNU code. Please
  97. report them to the address below.
  98.  
  99. In particular directory traversal (esp. on different filing systems)
  100. has not been thoroughly checked - I just replaced all '/' with '.'
  101. for directory separators.
  102.  
  103. The -throwback predicate should prevent the automatic use of -print but it
  104. doesn't for a reason I have yet to find.
  105.  
  106.  
  107. Distribution
  108. ------------
  109. GFind is distributed under the GNU License, see the file COPYING
  110. for details.  Source is not included but can be obtained from any
  111. good FTP site.  Ask me if you want my modifications.
  112.  
  113.  
  114. To do
  115. -----
  116. Fix handling of image files?  I think it is actually fine as it is.
  117. Allow xdev etc. to know about image files?
  118. Modify mtime to allow specification of time in floating point?
  119. Support for file links, such as those generated by Brian Brunswick's
  120. !Links application. Test with other file linking systems.
  121.  
  122.  
  123. History
  124. -------
  125. 1.02 beta  arb  Wed May 24 06:06:39 BST 1995 - preserve csd and psd
  126. 1.01 beta  arb  Mon May 22 21:34:31 BST 1995 - added throwback
  127. 1.00 beta  arb  Sat May 20 16:20:26 BST 1995 - first RISC OS beta
  128.  
  129.  
  130. Contact
  131. -------
  132. This port by Andrew Brooks:
  133. arb@sat.dundee.ac.uk  (arb@ua.ndu.ac.uk, arb@comp.lancs.ac.uk)
  134. http://www.sat.dundee.ac.uk/~arb/
  135. If all else fails, via parents at:
  136. 7 Kennedy Close, Newton, Chester, CH2 2PL, UK.
  137.