home *** CD-ROM | disk | FTP | other *** search
- - MAT -
-
-
- It seems that one of the things that BBS Sysops do best is moan
- and groan about file uploads.
-
- It also seems that one of the things that BBS callers do best is
- moan and groan about how tough it is to find a file to upload.
-
- Sysops often hear lines like, "you already have every file in the
- free world on your Bulletin board". Well, it just ain't so. You'd
- be surprised how small the intersection of files on any two
- bulletin boards really is. I was.
-
- If SET_1 is the set of all files on bulletin board A, and SET_2 is
- the set of all files on bulletin board B, then, according to the
- diagram below;
-
- Group A are the files which exist only on Board A.
- Group B are the files which exist on both Board A and Board B.
- Group C are the files which exist only on Board B.
-
- If I wanted to upload a file to Board A, I would be very interested
- in knowing the contents of Group C, since every element of this group
- is a candidate for uploading to Board A.
-
-
- ┌───────────────────────┐
- │ SET_1 │
- │ │
- │ ┌───────────┼────────────┐
- │ Group │ │ │
- │ A │ Group │ │
- │ │ B │ Group │
- │ │ │ C │
- │ │ │ │
- └───────────┼───────────┘ │
- │ │
- │ │
- │ SET_2 │
- └────────────────────────┘
-
-
- SET_1 is the set of files which are members of Group A and Group B.
- SET_2 is the set of files which are members of Group B and Group C.
- Group B is called the intersection of sets 1 and 2.
-
-
-
- In fact, if I knew the contents of Group C, I could become an uploading
- maniac.
-
- MAT is a program (actually a filter) whose input is SET_2, and whose
- output is either Group C, or alternatively, "Group B", the intersection of
- the 2 sets.
-
-
-
- Here's how to use MAT:
- ----------------------
-
- mat [-vnd] -f<control-file> file1 file2 .....
-
- MAT will read the control file (the -f option), and then read
- the remaining files named in the command line.
-
- MAT is invoked at the MS-DOS command line in the following
- manner;
-
- C> MAT -f mybbs.lst foreign.lst
-
- or,
-
- C> MAT -f mybbs.lst < foreign.lst
-
- MAT will filter the "foreign" list, outputting only those
- lines from "foreign.lst" which don't match the first word of
- any line in the control file.
-
- Since MAT expects both input and control files to be in this format;
-
- BMGREP2.ARC 29696 12-28-87 Boyer-Moore Search Text Files wit
- FBACK.ARC 36864 12-28-87 Best hd backup yet!
- HEADHUNT.ARC 36864 12-28-87 Get the proper includes in Turbo C
- LEGAL.ARC 70656 12-28-87 many legal documents...fill in the bla
- MAGNCART.ARC 9216 12-28-87 The Magna Carta. King John signed it.
- OMFDUMP.ARC 23552 12-28-87 Dump .obj files into readable form
- CLONINV.ARC 83968 12-27-87 New Version of Space Invaders Game
-
- you can either capture lists with your communications programs, or
- use catalogs of files which are provided for downloading by
- most BBS's.
-
- MAT will read each line of the control file, discarding everything
- beyond the first whitespace (keeping only the file name), and load
- the names into a list. Then mat will read the input file(s) and
- search for matches, outputting all it matches which it finds.
-
-
-
- OPTIONS:
- -------
- -v Verbose mode. Outputs statistical info to stderr.
- -n Intersection. Outputs intersection of 2 sets.
- -d Debug mode. Outputs debug info.
-
- If you'd like to see the intersection of 2 lists, just
- use the -n option.
-
- Since the control list is kept in memory, the number of control
- input lines will be limited depending on how much RAM you have
- in your system. I processed an approximately 8000 file list
- in a 640K system with no problem.
-
- MAT will accept more than 1 control file, so that you may
- invoke MAT by;
-
- mat -f my_bbs1.lst -f my_bbs2.lst < other.lst
-
- If your bulletin board has a large list, or you plan to use
- MAT often, you may increase processing efficiency by cutting
- the control list with a suitable "cut" utility. I've included
- one with MAT.
-
- cut -f1 < my_bbs.lst >short.lst
- mat -f short.lst new_bbs.lst
-
- Commands such as those listed above will improve MAT's
- processing time.
-
-
-
- Examples
- --------
-
- Two lists, mybbs.lst, and test.lst have been included to provide examples
- of MAT's use.
-
- To find the intersection (those files common to both lists)
- of the two lists, type;
-
- MAT -n -f mybbs.lst test.lst
-
- to find files in test.lst which aren't in mybbs.lst,
- type;
- MAT -f mybbs.lst test.lst
-
- to find files in mybbs.lst which aren't in test.lst,
- type;
- MAT -f test.lst mybbs.lst
-
-
-
-
-
- WARNING: Extensive Use of this program will cause all bulletin
- boards to contain all the same files. <Ha, Ha>
-
-
- Any comments, suggestions or criticisms;
-
- Bob Halsall
- c/o Eastern 'C' Board
- Suffern, NY
- (914)-368-0658
-
- If you find that this program has endeared you to the Sysop of
- your favorite board, or is partially responsible for your increased
- security level, please send a few dollars to :
-
- The American Cancer Society
- 90 Park Avenue
- New York, New York 10016
-
- Let's kick cancer's a**!!!
-
-
-