home *** CD-ROM | disk | FTP | other *** search
- **********************************************************************
- * VAN NUYS BRIDGE TOOLKIT *
- **********************************************************************
- * COPYRIGHT 1983 EUGENE H. MALLORY *
- **********************************************************************
-
- The Van Nuys Bridge Toolkit is a collection of text processing
- tools, operating on CP/M 2.2, which are similar to the type of
- tools generally provided in UNIX. They can be used to shape or
- change text for a great number of purposes.
-
- Most of the tools have two inputs and an output. One input is
- the command line itself. That generally provides any options or
- arguments as well as providing specifications for the standard
- input and standard output stream. Without any specification for
- the standard I/O, input is from the console and output is to the
- console. Input from the console uses a "*" prompt.
-
- Input may be redirected by specifying a file name with the format:
-
- A>TOOL <filename
-
- The default output is to the console screen. Output may be
- redirected to a file, to a printer or to both the screen and a
- file.
-
- Redirection can take the following forms:
-
- > fid Output redirection to file
- < fid Input rediredtion from file
- + fid Output redirection to file and screen
- ~ fid Output redirection to file and printer
- >> fid Append to file
- +> fid Append to file and output to screen
- ~> fid Append to file and output to printer
- > LST: Output to LST device
- >> LST: As above
- + LST: Output to LST device and screen
- > LP1: Output to LP1 (IOBYTE = 0x80)
- >> LP1: As above
- + LP1: As above and to screen
- > LP2: Output to LP2 (IOBYTE = 0xC0)
- >> LP2: As above
- + LP2: As above and to screen
- > OUT: Output to PUNCH DEVICE
- >> OUT: As above
- + OUT: As above and to screen
- ~ OUT: As above and to printer
- < IN: Input from READER device
-
- | prog Pipe output to next program
- +| prog As above and to screen
- ~| prog As above and to printer
-
- Redirection and pipe character may be separated from
- the file or program name by white space or not.
-
- File specifications may be complete with user number (##) and
- disk name (d) in the form:
-
- ##/d:name
-
- Pipe specification will be first tried as is, if the file
- does not exist, disk A, user 0 will be tried using the same
- name.
-
- Control C will abort program and submit file execution.
- When inputing from keyboard use Control C except at
- column 1. (CP/M catches it there.) If an old version of
- the output file existed, it will be recovered by Control C.
-
- It is permissable to input and output from the same file,
- BUT the input specification must be first and the output
- specification must be second! otherwise the order and
- location of the redirection specifications is not
- significant.
-
- A number of the tools use ambiguous file names or wildcards to
- identify a list of file names. The format is the same for all
- tools. The ambiguous file name characters are a superset of
- those used by CP/M DIR. * means any number of any character, ?
- means exactly one of any character. Unlike DIR, a list of
- ambiguous file names may be used. Also, if an ambiguous file
- name is preceded by a !, files matching that specification will
- be EXCLUDED from the list. See LS to get more information.
-
- These tools have some limitations. They are able to only handle
- normal CP/M text files. Files must have these characteristics:
-
- 1) They must not be null or totally empty.
-
- 2) They must have a CR LF pair at the end of each line
- including the last line.
-
- 3) Lines more than 132 characters will cause the programs
- to blow up.
-
- 4) Both kinds of CP/M eof conditions are handled well.
-
- 5) Some of the tools will behave badly if they get text
- with CR's, backspaces and other control characters
- in the text. This is noted in the individual HELP files.
-
- 6) The output file must be on the current logged on disk.
- Specification of another disk will be ignored and
- the output will end up on the current disk anyway.
- (Final output file is created by REN of a temp file.)
-
- 7) Input files and tools may be on other disks. Tools
- are searched for on the current disk first, and on
- disk A: second if no specification is made. It is
- handy to put the tools all on disk A: and work on
- another disk.
-
- CLEAN may be able to clean up many files with these problems.
-
- Error messages are prefixed by the tool name which generates the
- message. An exception is when an error is made in the input or
- output redirection or in the pipe specification. In these cases,
- the message is prefixed with the name DIO: for Directed IO.
-
- Note that where tools have "-" options such as -U, the options
- may be run together so that 2UP -N4M10S2 is the same as -N4 -M10
- -S2. The redirection specification and "-" options may be in any
- order on the command line. They are processed and removed before
- the parameters, if any, are passed to the tool. Thus SUB <A ABC
- DEF >B is the same as SUB >B <A ABC DEF. Also, any tools that
- have options, have the option -H. By saying TOOL -H, you will
- get, on the console, a summary of all the legal options.
-
- You cannot specify as the standard output a file on another disk.
- This is because a temp file is created on the current disk first
- and then renamed correctly at the end. This does allow both
- standard input and standard output to be the same file name. If
- you use a +file to specify the standard output, you can abort the
- process if you see that the results are not as expected (easy to
- happen when using many metacharacters with SUB or SELECT). A CTL
- C will kill the process without wiping out file. Operations such
- as CLEAN <FILE >FILE or SUB <FILE ABC DEF +FILE are ok and
- useful.
-
- The full power of these tools is shown when they are used within
- .SUB files with SUBMIT. Once a sequence is worked out to to a
- particular task, it can be canned and put to general use by
- creating a .SUB file.
-
- The tools are partcularly useful in creating a .SUB file
- containing a string of commands to operate on a list of files. LS
- can create a list of file names, and SUB can transform them into
- a series of commands for each file in the list. There is an
- example in the page on SUB.