  | 83365 packages online |
|
 |
| util/dir/HuntnGather.lha | | | No screenshot available |
|
Hunt & Gather - File search and indexing utilities.
(or Hunt'n'Gather bro, ghetto style)
Copyright 2021 by Wizardry and Steamworks
Released under the MIT License, all rights reserved.
-=:[ ChangeLog ]:=-
20210110:
* Fixes for the new pattern matching.
20210109:
* Add the ability to specify the database file for all tools (-d).
* Perform some file checking for all tools before running.
* Add Amiga-style pattern matching with Hunt.
20210107:
* Add the quiet option (-q) to the Gather tool.
* Process arguments cannonically for both Hunt & Gather.
* Switch to a case-insensitive search for Hunt.
20210105:
* Ensure the database is sorted for future development.
* Insert CTRL+C breaking of both tools for AmigaOS.
* Make both tools more verbose.
* Dot the is, dash the ts...
-=:[ Introduction ]:=-
Hunt and Gather are two utiltities for indexing and then searching
fileswithin a drive or directory designed to speed up searching files.
The Gather utility is meant to index any path and generate a search
database. The Hunt utility will then open the database generated by
Gather and look for files matching the string provided to Hunt as
parameter.
The utility was designed to check large collections of icons but the
indexing and the fast search results proved indispensable enough for a
self-standing program.
-=:[ Design ]:=-
Hunt and Gather are designed with constant memory usage in order to be
suitable for all Amiga models. Namely, the Gather utility will search
all files in a given path, sort the files in ascending order by using
an external merge sort (tailored down to a 256KiB memory limit).
Conversely, Hunt uses brute force to search for files but by reading
lines from the database without loading the entire database in RAM.
Perhaps ulterior versions of Hunt might partition the database file
just like Gather does and then build Tries in oder to speed up finding
files on the filesystem.
The project adheres to the ANSI C standard and Amiga-centric semantics
are compiled conditionally (in case the "___AmigaOS__" macro is
defined at compile time).Otherwise, Hunt & Gather should run under any
platform that benefits from an ANSI C compiler.
-=:[ Usage ]:=-
First the Gather utility is used to index a path:
Gather RAM:
which will create a file in the S: directory named "gahter.db". While
Gather is running, the utility will display the number of indexed
directories and files on the command line.
In order to look for a file, the Hunt utility is invoked with an Amiga
search pattern:
Hunt #?test#?
in this case, "#?test#?", that will be compared to all the files indexed
previously by Gather. In case any of the files previously indexed by
Gather contain the term "test", then the Hunt utility will display
the path to the file.
-=:[ Gather ]:=-
The Gather utility takes one single parameter representing the path
to be indexed; for example, all the following paths are valid:
RAM:
DH0:System/
When Gather runs, a database is created at "S:gather.db" by
overwriting the previous database. For best results, Gather should
run periodically and should scan a path that is most frequently
searched for files.
-=:[ Hunt ]:=-
Hunt is the counterpart to Gather and will search the database at
"S:gather.db" for files matching the terms passed to Hunt on the
command line.
For instance:
Hunt #?test#?
will search all files in the Gather database "S:gather.db" for the
term "test". If any file within the database partially matches the
term "test", then Hunt will display the path on the command line.
Hunt uses Amiga-style pattern for matching the file names.
-=:[ Source ]:=-
The project is open sourced and licensed under MIT. The source code
is included in the AmiNET release or can be checked out via subversion
from the Wizardry and Steamworks repository:
svn co http://svn.grimore.org/HuntnGather
-=:[ Mentions ]:=-
The code includes a shim for "getopt" in order to process command line
parameters on Amiga without changing the semantics. The shim is created
by Daniel J. Barrett, barrett cs.umass.edu and is available on AmiNET:
http://aminet.net/package/dev/misc/GetOpt-1.3
-=:[ Contact ]:=-
E-Mail(tor): office kaarvixjxfdy2wv2.onion
Website: https://grimore.org/amiga/hunt_and_gather
Website(tor): http://kaarvixjxfdy2wv2.onion
Discord: https://discord.gg/k9kyDsa
|
Contents of util/dir/HuntnGather.lha PERMSSN UID GID PACKED SIZE RATIO METHOD CRC STAMP NAME
---------- ----------- ------- ------- ------ ---------- ------------ -------------
[Amiga] 1524 2058 74.1% -lh5- e2c3 Dec 31 05:11 Hunt & Gather/C.info
[Amiga] 15715 30672 51.2% -lh5- 84d7 Dec 31 01:33 Hunt & Gather/C/Gather.00
[Amiga] 15630 30236 51.7% -lh5- 4596 Dec 31 01:36 Hunt & Gather/C/Gather.20
[Amiga] 14250 28092 50.7% -lh5- 9ce2 Dec 31 01:33 Hunt & Gather/C/Hunt.00
[Amiga] 14166 27728 51.1% -lh5- 0522 Dec 31 01:36 Hunt & Gather/C/Hunt.20
[Amiga] 1531 2058 74.4% -lh5- e04c Dec 31 05:11 Hunt & Gather/Gather.info
[Amiga] 15630 30236 51.7% -lh5- 4596 Dec 31 01:36 Hunt & Gather/Gather/Gather
[Amiga] 1270 3282 38.7% -lh5- 46fc Dec 30 12:42 Hunt & Gather/Gather/Gather.c
[Amiga] 2083 2663 78.2% -lh5- 4e24 Dec 31 01:36 Hunt & Gather/Gather/Gather.c.info
[Amiga] 960 2529 38.0% -lh5- efb1 Dec 30 07:34 Hunt & Gather/Gather/Gather.c~
[Amiga] 1136 3715 30.6% -lh5- d71f Dec 31 01:36 Hunt & Gather/Gather/Gather.link
[Amiga] 3532 27035 13.1% -lh5- 2f4a Dec 31 01:36 Hunt & Gather/Gather/Gather.map
[Amiga] 0 0 100.0% -lh0- 0000 Dec 28 10:24 Hunt & Gather/Gather/Gather.qiq
[Amiga] 1683 2909 57.9% -lh5- 929b Dec 28 10:24 Hunt & Gather/Gather/Gather.qiq.info
[Amiga] 648 1925 33.7% -lh5- fb0a Dec 31 01:37 Hunt & Gather/Gather/Gather.?
[Amiga] 1502 1973 76.1% -lh5- b6d7 Dec 31 01:37 Hunt & Gather/Gather/Gather.?.info
[Amiga] 8607 18150 47.4% -lh5- 2c8e Dec 31 01:36 Hunt & Gather/Gather/objects_debug/Gather.debug
[Amiga] 922 1740 53.0% -lh5- 702a Dec 31 01:36 Hunt & Gather/Gather/objects_debug/Gather.o
[Amiga] 7267 15050 48.3% -lh5- 9445 Dec 31 01:36 Hunt & Gather/Gather/objects_debug/StringStack.debug
[Amiga] 561 1120 50.1% -lh5- 91ec Dec 31 01:36 Hunt & Gather/Gather/objects_debug/StringStack.o
[Amiga] 797 3133 25.4% -lh5- eec8 Dec 30 07:02 Hunt & Gather/Gather/StringStack.c
[Amiga] 2059 2631 78.3% -lh5- c275 Dec 30 07:02 Hunt & Gather/Gather/StringStack.c.info
[Amiga] 360 942 38.2% -lh5- 4825 Dec 30 07:02 Hunt & Gather/Gather/StringStack.h
[Amiga] 2028 2578 78.7% -lh5- 8088 Dec 30 07:02 Hunt & Gather/Gather/StringStack.h.info
[Amiga] 1057 2362 44.8% -lh5- 99d6 Dec 31 02:05 Hunt & Gather/Hunt & Gather.doc
[Amiga] 1233 1866 66.1% -lh5- f44a Dec 31 05:11 Hunt & Gather/Hunt & Gather.doc.info
[Amiga] 1517 2058 73.7% -lh5- 62d5 Dec 31 05:11 Hunt & Gather/Hunt.info
[Amiga] 14166 27728 51.1% -lh5- 0522 Dec 31 01:36 Hunt & Gather/Hunt/Hunt
[Amiga] 968 2527 38.3% -lh5- d958 Dec 30 12:42 Hunt & Gather/Hunt/Hunt.c
[Amiga] 2061 2632 78.3% -lh5- 5053 Dec 31 01:36 Hunt & Gather/Hunt/Hunt.c.info
[Amiga] 1052 3352 31.4% -lh5- e6fa Dec 31 01:36 Hunt & Gather/Hunt/Hunt.link
[Amiga] 3258 24825 13.1% -lh5- 007d Dec 31 01:36 Hunt & Gather/Hunt/Hunt.map
[Amiga] 0 0 100.0% -lh0- 0000 Dec 30 06:46 Hunt & Gather/Hunt/Hunt.qiq
[Amiga] 1684 2909 57.9% -lh5- 2e8b Dec 30 06:46 Hunt & Gather/Hunt/Hunt.qiq.info
[Amiga] 614 1647 37.3% -lh5- cdfd Dec 31 01:37 Hunt & Gather/Hunt/Hunt.?
[Amiga] 1501 1973 76.1% -lh5- 677f Dec 31 01:37 Hunt & Gather/Hunt/Hunt.?.info
[Amiga] 7992 16152 49.5% -lh5- f7c4 Dec 31 01:36 Hunt & Gather/Hunt/objects_debug/Hunt.debug
[Amiga] 767 1340 57.2% -lh5- bf75 Dec 31 01:36 Hunt & Gather/Hunt/objects_debug/Hunt.o
[Amiga] 602 1739 34.6% -lh5- 3fc2 Dec 31 05:11 Hunt & Gather/Install
[Amiga] 1588 2950 53.8% -lh5- b3e2 Dec 31 05:11 Hunt & Gather/Install.info
[Amiga] 492 1053 46.7% -lh5- b960 Dec 31 05:11 Hunt & Gather/InstallerProject
[Amiga] 1899 2914 65.2% -lh5- 69ac Dec 31 05:11 Hunt & Gather/InstallerProject.info
---------- ----------- ------- ------- ------ ---------- ------------ -------------
Total 42 files 156312 342482 45.6% Jan 1 06:04
|
|
|
 |
Aminet © 1992-2021 Urban
Müller and
the Aminet team.
Aminet contact address: <aminet aminet net> |