Short       : Find all duplicates in any set of files
Uploader    : Fulvio Peruggi <peruggi@unina.it>
Author      : Fulvio Peruggi <peruggi@unina.it>
Type        : util/rexx
Version     : 2.3
Requires    : util/cli/ALeXcompare.lha
Distribution: Aminet


 *==========================================================================*
 |                                                                          |
 |     Main improvements in this version:  EqFiles.rexx now multitasks,     |
 |     can replace duplicate files with hardlinks, and is 3%-5% faster.     |
 |                                                                          |
 +==========================================================================+
 |                                                                          |
 |     Multiple copies of EqFiles.rexx can be run concurrently without      |
 |     locking each other. The replacement of duplicate files by means      |
 |     of suitable hardlinks (instead of deletion) saves diskspace and      |
 |     preserves compatibility with programs that use all these files.      |
 |                                                                          |
 *--------------------------------------------------------------------------*

EqFiles.rexx finds all duplicates in any collection of files. It lists all
files in one or two directories (or directory trees); compares any pair of
files having the same size; and finds all pairs whose files have the same
contents, even if they have distinct filenames.

You know the problem. You have huge collections of files (pictures, music
modules, audio samples, etc.) downloaded from different sites or extracted
from distinct CD-ROMs. Often you have one or more duplicates of certain files,
because distinct sources used different filenames for the same file. You can
find duplicates manually, but actually this is convenient only in a small
collection. When your collection is formed by hundreds or thousands of files
the only reasonable way to find duplicates is a program that does the job for
you. As far as I know, all usual "compare" programs make comparisons between
files having the same filename, and so they are useless in the present case.
Here is the point where EqFiles.rexx comes in handy.

EqFiles.rexx is carefully optimized for maximum speed. Almost all the
processing time is used by external programs called by the routine. In fact
the interpreted version of EqFiles.rexx is as fast as the compiled version
(not distributed).

With EqFiles.rexx it is also possible to delete automatically all duplicates
found in a search. Even substitution of all duplicates with links is possible.

EqFiles.rexx can be used from within Directory Opus.


Major changes in V2.3 since the previous Aminet release (V2.2)
ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ
- Multiple copies of this utility can be run concurrently.
- Improved parsing routine: now the actual number of arguments is detected
  dynamically.
- The input check routine accepts no more quoted options with trailing
  blanks.
- The input confirmation text typed by the routine now is formatted.
- Removed a bug in the main routine: empty files were not discarded when the
  SIZE>x option was specified.
- Removed another (long standing but rarely occurring) bug in the main
  routine: sometimes some pairs of equal files were not detected when nested
  directories were compared.
- Further optimization and speed up of the main routine.
- Suitable exit codes are set when program ends.
- Added LINK option for replacement of duplicates with hardlinks.
- Added NORES option to prevent any output except confirmation text and
  statistical comments.
- Major changes and additions in the document file.


Author:
ŻŻŻŻŻŻŻ

                                Fulvio Peruggi
                         Via Consalvo 150, isolato 5
                                 80126 Napoli
                                    Italy

                           E-Mail: peruggi@unina.it

