LOG-EQUAL:  Check if records at given indexes in two log files match.

Log-equal looks at the records at given indexes in two log files
(perhaps excluding those of some types), and determines whether they
match exactly, returning the result by exiting with success or
failure.  It is useful in shell files for doing things like circular
coupling.

Usage:

    log-equal [ -ignoredtype... ] log-file-1 index-1 log-file-2 index-2

The records in log-file-1 at index-1 are compared to those in
log-file-2 at index-2, except that records with the types given in the
optional first argument are ignored.  (See log-types.doc for a listing
of conventionally-used record types.)  The program silently exits
successfully (with exit code 0) if the records match.  It silently
exits unsuccessfully (with exit code 1) if there is a mismatch.  An
error message is displayed on standard error and the program exits
with code -1 if either log file has no records (of any type) at the
specified index.

The records at the two indexes are considered to not match if a record
of a given type (other than a type being ignored) exists in one log
file but not the other, if the records of a given type are of
different lengths in the two log files, or if the records of a given
type do not have exactly the same contents in the two log files.  If
more than one record of some type exists at the given index in one of
the log files, only the last such record is examined.

Example:

   log-equal -rio loga 100 logb 1

Returns successfully (exit code 0) if the set of records at iteration
100 in loga matches the set of records at iteration 1 of logb,
excluding records of type "r", "i", or "o".

              Copyright (c) 1995-2003 by Radford M. Neal