home *** CD-ROM | disk | FTP | other *** search
/ Aminet 10 / aminetcdnumber101996.iso / Aminet / util / misc / find362.lha / find.doc < prev   
Text File  |  1995-12-06  |  9KB  |  187 lines

  1.           ============================================================
  2.            $VER: find.doc 36.2 (6.12.95) Copyright (c) Ralph Seichter
  3.           ============================================================
  4.  
  5.  
  6. DESCRIPTION
  7.  
  8.    I wrote 'find' because I needed a tool to find files (obviously :) which
  9. match a given name pattern. 'find' is able to search multiple directories,
  10. including all subdirectories, the current directory and its subdirs, or the
  11. current CLI command path only. The output can be formatted in a way which
  12. tries to imitate 'List LFORMAT' behaviour, and you can make 'find' create
  13. shell scripts for you and execute them on the fly.
  14.  
  15.    Please note that 'find' is pure, you can make it resident. As it is less
  16. than 3 KB in size, this is recommended. Check the executable by using the
  17. List command (you should see output like the following line) and modify the
  18. file protection bits if necessary:
  19.  
  20.         find   2472 --p-rwed 06-Nov-95 18:14:09
  21.  
  22.    Requires 'dos.library' V36 (OS 2.0) or better.
  23.  
  24.  
  25. COPYRIGHT NOTICE
  26.  
  27.    This program is Copyright (c) 1995 Ralph Seichter, all rights reserved.
  28. You may however freely use it and give copies to your friends, as long as
  29. you don't add data to or remove data from the distribution archive. You may
  30. *NOT* include any part of the distribution archive in a commercial software
  31. package. If you have comments or suggestions, feel free to contact me. Use
  32. PGP-encrypted Email when possible, you can find my public key at the end of
  33. this file.
  34.  
  35.         Ralph Seichter           Email: zodiac@darkness.gun.de
  36.         Am Christenrain 12       Phone: +49-2667-969000
  37.         56479 Stein-Neukirch
  38.         Germany
  39.  
  40.  
  41. USAGE EXAMPLES
  42.  
  43.    Locate all C source files on partition DH1:
  44.    -> find #?.c dh1:
  45.  
  46.    Find all Icons in the current directory and all its subdirs, but
  47.    don't display the ".info" suffix.
  48.    -> find #?.info lformat %m
  49.  
  50.    Get rid of all files with the prefix "foo" on some partitions, but
  51.    don't go deeper than three subdirectory levels while scanning.
  52.    -> find foo#? sys: dh2: bozo: depth=3 lformat="delete %p%n" exec
  53.  
  54.    Find 'Type' in the command path.
  55.    -> find Type path
  56.  
  57.    Find all occurences of 'bar' in the command path.
  58.    -> find bar full
  59.  
  60.    I hope that these few examples show some of the potential of 'find'. The
  61. possibility to create shell scripts and have them executed without further
  62. interaction is certainly very useful for many tasks.
  63.  
  64.  
  65. COMMAND TEMPLATE
  66.  
  67.    PATTERN/A     Any OS name pattern, i.e. "#?.info".
  68.  
  69.    DIRECTORY/M   List of directories to scan. If omitted, only the current
  70.                  directory and its subdirectories will be searched.
  71.  
  72.    DEPTH/K/N     Number of subdirectory levels (recursion depth). DEPTH=0
  73.                  means no subdirs, DEPTH=1 one subdir level, and so on.
  74.  
  75.    LFORMAT/K     Format string. You can use a subset of the templates known
  76.                  from 'List LFORMAT' to modify the output. As an example, a
  77.                  file called "DH0:Foo/Bar.c" shall be used.
  78.  
  79.                     %e   Name suffix            .c
  80.                     %f   Full path and name     DH0:Foo/Bar.c
  81.                     %m   Name without suffix    Bar
  82.                     %N   Full name              Bar.c
  83.                     %n   Full name (lowercase)  bar.c
  84.                     %p   Fully qualified path   DH0:Foo/
  85.                     %%   Percent sign           %
  86.  
  87.                  LFORMAT defaults to %f (full path and name).
  88.  
  89.    EXEC/S        Create shell script using the given LFORMAT string. You
  90.                  must specify LFORMAT, or EXEC will be ignored.
  91.  
  92.    FULL/S        Check full command path instead of stopping with the first
  93.                  match (FULL implies PATH).
  94.  
  95.    PATH/S        Find first matching file in the current CLI command path.
  96.  
  97.    VERBOSE/S     Print the names of all directories when they are scanned.
  98.  
  99.  
  100. DISCLAIMER
  101.  
  102.    THIS MATERIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
  103. EXPRESS OR IMPLIED, STATUTORY OR OTHERWISE, INCLUDING WITHOUT LIMITATION
  104. ANY IMPLIED WARRANTIES OF NONINFRINGEMENT, MERCHANTABILITY AND FITNESS FOR
  105. A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE USE, RESULTS, AND
  106. PERFORMANCE OF THIS MATERIAL IS ASSUMED BY YOU AND IF THE PRODUCT SHOULD
  107. PROVE TO BE DEFECTIVE, YOU ASSUME THE ENTIRE COST OF ALL NECESSARY
  108. SERVICING, REPAIR, OR OTHER REMEDIATION.
  109.  
  110.  
  111. -----BEGIN PGP PUBLIC KEY BLOCK-----
  112. Version: 2.6.2i
  113.  
  114. mQBNAi7dDgAAAAECANd1hBXK8RLHVmJxmhuq6hFS1HBIPHC7YImTZFs10d3FfQFe
  115. 63xBabCJxzQh06ODARdYuE7i9PfKqxQX9aw2mMEABRG0J1JhbHBoIFNlaWNodGVy
  116. IDx6b2RpYWNAZGFya25lc3MuZ3VuLmRlPokAlQIFEC+hGNbjrOvbNO/CmQEBLswD
  117. /1y9froHm1Z6WRT29s6eJShk9X601VuiF8Ch6iZrRoNJdsxNRACNG0mXqfeTuufw
  118. u9yBdeINxAlnDadrG6n7nLLdmk5sebXR4e+7KVYeoyArMwm8NnqLbqbzxz1WtXVN
  119. dFuWrtBY32aB10g2F0InDgcvidCOhfevN2IPEM6jHYkkiQCVAgUQMKn5tw9HL1s0
  120. 103BAQGCuQQAiPJlbg0k6D3oyQrEFFhPhfDwb4V+BNi4RhB3ugw9nNWQv0ihrbhL
  121. LBKTPQS+KNMfjC7cQ2B6JZzMz3RwhXqINo9eQ9bi2vkgwOA/AVQ7i8HTXp/NTFQL
  122. mnAo9sA4G7X6/CXf/lFDeEbN2vt8fkPA+MPtg7jXKIql0Vte2cvZ/dGJAFUCBRAw
  123. pkazm9pRg/CEGxEBAS9ZAf9ipQauU5UEMaASZigGjOxdPlUmTDtXUMNYPrvfQbRA
  124. vpB4qwUKpal8vQcU/2KPZ5acEZR/3Di0/ZcQupe9KTDziQBVAwUQMIfZlXwkOHmP
  125. 707hAQGQqAIAjd4tQgHg81f+kxE/QTpwE9FX+2sgHqtuNZqtFwEQ9ZXsjCfKGUDJ
  126. 5dcx6P7cuKdKOZz2Wl+nIhfu4MrOSSp5xokAVQIFEDByxBZHpGwEIwiG9QEBl6MC
  127. AKbo2MAmsH410E4nKaJ0KFJGeLI4KmG4tszJRwUrutqM4QyK/FbiT3Rh/XQ3frg2
  128. ZIO8XH55SbqLRQI8VTyG08iJAJUDBRAwaZHemX/1cwWRz+0BAWOtA/94/XqW7YD0
  129. x4mtdROU81OO8X3OOYtkfFsrkFtKQM11U9yg3nL0mM5/KQF/E+mLqr+XxQq1NOBy
  130. DE1f/+nzKORmML1y3TFCvK1Lz847jKqSDYTGygdgo4eg3bIQ7me2HLlI7zk8ndIx
  131. sdsONGOtmd8NXzg4CEIfHXeqqXZNhaBEKYkAlQMFEDABpzFP7Zu19QzSjQEBTjAD
  132. /RXsUrWM8Eh8h0vU/b8d/unRqhIxTNHQIuKbHVJl0AQhr6KixvQYXTyof6d28CEM
  133. bd01WgGQ0OopBo3C/aorCpXgcxUwzYDm6MtDU6+uG/KoHyiBRBcke1DHkZQJn6a2
  134. 0YPwwoota1YoLeRvLFLbFWenSzmvoy3at2q/TcKGP8XFiQCVAgUQL/cb1hzyDad0
  135. m4cRAQEwkQP9HoOvMRIy+27kugz1ptAichDWnbtGhYZ1nerv7W4AIohseStt6YQa
  136. 37XaUOs1a9KQfoieNr+BtDEPHM8SFwz1a/A2c1dmt9P+GJmK8vy4JY4F/++xVi5C
  137. nZmL5GD0DqEx5Or5bMQ57YhJXWKFJfPHopDVrK5uM3jTl+IWYQY+qyiJAJUCBRAv
  138. jU5cws1y1OXZar0BAfp9BACuL/c+e2iZL8pENGfpBNuhWIx+CtYBhIzUSfv93k4+
  139. KSlDYjNZJU6+1vK2Je2qPSEDyezEJWlc/H93j16uusXLe/uhdtLpIKhonIbhtFF9
  140. z8g6hrO6k5Vd/E+w7F0vnY5ogNKb2D8aJXmx/9I35mpn8DTrxMmoq5Y2h6+I36Qx
  141. 7YkAVQIFEC9bXPCHwY+Q4sBudQEBvAcB/2/iWYkdlblArBAL+4h/U7sP6S9ZAXja
  142. 1EuckLhAKS2Bg2im0dGqTwAjrJI3eGGukW4xwlj3ovVMiUcpzJYrnZOJAJUCBRAv
  143. DJBMl60DD8dpzlUBAa05A/4plkZiNGzGYoJYCNLaE5fnITff6JnImld9VP8tPS8x
  144. G7eNakMu2yIHNAS/Ec6I0Wgk9Pm36X1ChfChSHN+wFMCGrrsUIOx7d/JhAtZTazJ
  145. hAYYA0bqiK8uBZ90seOghzNXgLTS0fQafRC+Maxj3A08+SoVd8kOkjEQ1J4FWP2Q
  146. QokAlQIFEC7yMAlV6of8X2TfTQEBnxgEAM5OtwWEKMX78dm8U4SDtgluOV3L51nE
  147. r5yZvcsgQJracLFgUA09vH6JacsEcQE7F0Mse2j6hZffDF9705UD1iFUz6hIyKM1
  148. JYwI5wof7fxAngO5kq2fPbiSMwyGdhaRriMssJSITUi620yqyRamkw7bZdB5KSM2
  149. 91eALzjTBmsdiQCVAgUQLunqddpSWdA6Wiz5AQH8YwP+PCGnsfNoX2NiywQDkozm
  150. qn61W1Dl/hCMauSWBN0W9HBXwzHKbFxv46hsRFg3F9gBhJn+eXfA2/oavYkXemIZ
  151. 4U2QYjclvBsNIiHhMfmJTuAdqRG+hivXUzlWj6B8ZHmehkd0cv3FbkUyNoTeiEA8
  152. iNiBhns1M7c1y5/n7fYucYuJAFUCBRAu4vT2ESzR/5V9gRkBAUvUAgCutse+u+5L
  153. 9OYlEvXGLI6F4mhb71FS8y9laco+jEUPzpks5o9/ueSa9hrYkwIAy323EzOPvx11
  154. 4VRgqnx12EuCiQCVAgUQLuTHLKdokTwi9RJ1AQEp3QQAlAMv3vi2B8Iga0dREOxO
  155. lZNJSg1UNvE/RDQqWXqY8javl+TS1za9SyCmTsXHECq4PIhoFcvPbj+1S9a1yYLJ
  156. G557LfKCWdv3euR5xP5RL8eGGVL++zvQa8AwVj3BQ6KbaiLPF88JAycSlyjX5Xpv
  157. CNARbSkyON5wBcQWnpoJx+iJAJUCBRAu4HS9EK7Ev9lsN9EBARSKA/4lmIwXw3k/
  158. AMEnKCnGX774yv/iWEaUITpciHm6+KTFntSY3cp30/MTsaEd8dN33HKECprjXwm8
  159. 6HN88WTonQs7KTNVlmHNT+JzO76wzsS34iSycmfCWGwlTbF2VfAnnJw05u4Hr5CY
  160. zEy81yLTtArD9lzJ8W9MA9MWAs7FmNgEw4kATQIFEC7f4UN2ANz5hpOI7QEBbvcB
  161. vAtPh95pX31fX6M9BzbQFtxboQ7qhd2HCLP9eUd5Avy/0JLuS3BrtubNR+kUhO8+
  162. qG1Mju+y4C3AiQBVAgUQLt9JybCkoil+6zDVAQFybQIAkZjlSKx29eXRdtbBNZ16
  163. VczIXOqcmReYPUJsTjCVVKWRiNYCJ3xs8kFkr2ziBDjsRCbfTv/ZQvFutdS0LtzN
  164. lokAVQIFEC7eJzl2li8dQZQFqQEBn1ECAJsbrf2xC6WeIyb0YR24AuiLfrKVqCIt
  165. YBftn2G4QlybYNJc95GCPXgrOcls3Fq1l8aunTwcsl+R8pMEO2n9DbKJAHUCBRAu
  166. 3itQVRxnsIOQKL0BAY0PAwDD5q8iXhJGK0/nvS2eOVBXlzP1XsekvNUpBqO4dc45
  167. gaZGc6C/vcj35WAl8k2IriuuA0JLKaxuslO1HJQ0T1AFe04gNSR4+T6C4RFmGEMV
  168. TIh2f7YQVwoaou7ATp67ZUyJAJUCBRAu3jgNldACPAwYESEBAf7MA/9b+6IkE7hN
  169. aA5aSeaeQ9flU2h692er9dUBG7Be06bGA7tgC5vXTVcCp/VEfdV3pIG6lZddVvov
  170. EKcxx/kfQgafTxKLrQHUBnaatI7LhSYm8rSbs95orBdU8L0bOdcZ64JXRW0ZjWX1
  171. A5N76xZC4SnTHbOS8jnGNA3tNQ0u7ViavIkARQMFEC7edzlyl+6zH/tU/QEBHPkB
  172. ewXkxc0fNjv3XZPSnFUoFhWBs/3w1msw3Xid/uzmpOjpJ8Rfo3KzbcyO8+apZhqH
  173. jYkAVQMFEC7dkWOyYDVm5vtn0QEBT7MB/R6py7BXYhOnHlkrwTcWf8k05H1RAmbz
  174. Uo1dZaTy0mHsk5WFf4WaHWtq6dgjJc839BQwQ/fj52nZGnxOH/OmVQaJAFUCBRAu
  175. 3Q7DqxQX9aw2mMEBAU0pAf4hbVzdfNYeQibY7lnqO9Lg4k2kLbT57752g+CDcAKc
  176. VRsMhXEaKt8N+yfAeGuOsTDgLGOf7JT3NU5UKJmyAIqntDBSYWxwaCBTZWljaHRl
  177. ciA8c2VpY2h0ZXJAaW5mb3JtYXRpay51bmktYm9ubi5kZT6JAJUCBRAwqfnaD0cv
  178. WzTXTcEBAWq+A/0Uwrx5F7o+xk+pxF5HnBhRW7ULKvHLD6Z+xn6vfguCll1sBU7u
  179. I209Pf8Kn3NJfycFpKCkwYSwhiWqnx7ybnhvxuGUX+J+e61oHppavJZuucHxVE+s
  180. J0BvvQQZMrz2T8eAtYL9dWIy/r+5abp1JqaCzJe97KDCbWq/Ke82d65Z+okAVQIF
  181. EC+AR/uwpKIpfusw1QEB1EUB/1yIjeE4D6XR/SXjWS019ulttHEVm+MqhDBZ7aJ3
  182. caxesQSq9ZoTuDCtcT2tB99bXvQFc95NZP6FwTx3OswVAd2JAFUCBRAve+rCqxQX
  183. 9aw2mMEBASaWAf4lwtbG9rLyWP2aLq93XTTbxNwiJ49016dlHmnA3TFasJw99hOM
  184. KYpDAAYNkj9ae1MRk6mm3KSMxRz5JZlbfIlw
  185. =0Z+B
  186. -----END PGP PUBLIC KEY BLOCK-----
  187.