1 TECO_UTILITIES

The TECO_UTILITYS account contains various utility programs and command 
files of general interest.  This is a group of TECO  Utilities that is
intended to allow the user to manipulate user files in various fashions. 

The "TECO Utilities" are DCL command lines that query the user for the
required parameters to perform the operation and then call TECO/MUNG to
perform the task to operate on the specified files. 

These Utilities can be very useful to the user that desires to utilize the
code  that has already been written and write supporting documentation, or 
to manipulate data files etc. 

These Utilities may also be slightly modified by the user to chain them 
together so as to perform a series of operations in a more repetitive 
and complicated fashion. This is so because TECO allows a DCL command to be
performed upon exit and all these Utilities tell teco to perform file
ZZZZZZ.ZZZ upon exit. 






 The names of available Utilities follow:


	This class of Utilities operate on the "innards" of files.
  (D)	BOILER	COLUMN	CONCAT	CONCOL	CUTIT	DELETE	DESHUF
	DUPELM 	FIXIT	FORM	GOHEAD  GOSPACE GOTABS	HEADER
	INSERN	INSERT	INVER	INVERH	MOVDWN	MOVEIT  NUMBER  
	PADCHR	PADIT	REDSEA  REPSTR	SHUFEL	SQUCHR  SQUEZE
	STRIP	STRIPC	TRAN	VARYIT	

	This class of Utilities operate on "namelists" of files to perform DCL
	types of commands.
  (N)	COPY	COPYE	DELET	DIFF	DIFFE	DIFLIS	LINES	MERGE
	NAM	PRINT	PRINTE	RENAM	RENAME	SPLIT	STAT	TYP
	TYPE	

	This class of Utilities perform "special" operations on files
	mostly relating to "ASCII Strings" or "Tokens".
  (T)	CORR	COUNTO	COUNTE	COUNKF	COUNKL	COUOKN	COUKON
	ELIM	ELINOT	ELIM	ELIMA	ELIMB	ELIME	EXTRAC	EXTN
	EXTRN	EXTRNN	MACROL	MACROP	MERGEB	SIMPLI	SMERGE	SMERGF
	SNAM	SPLITB	SSPLIT	STAT	TOKSEP





 Some examples of "operations" that these may perform are:


	 .Number all lines of a file in any number base.    - NUMBER
	 .Split a file down a colunm into two files.    - REDSEA
	 .Concationate two files horizontally (sidways) - CONCAT
	 .Move a set of columns to a new column location for 
	all lines.   - MOVEIT

	 .Create a name list of files.    - NAM
	 .Merge a name list of files into a single file.    - MERGE
	 .Split a "Merged" file back into multiple files.    - SPLIT
	 .Pad out the end of lines to a given column.    - PADIT
	 .Cut excessively long lines to a given column.    - CUTIT

	 .Fix all lines (long or short) to a given column.    - FIXIT
	 .Translate one ASCII set into another ASCII set 	- TRAN
	 .Perform a User supplied TECO macro on pages of a file.    - MACROP
	 .Shuffel two files together.    - SHUFEL
	 .Eliminate duplicate lines in a file.    - DUPELF

	 .Combine columns of one file with columns of 
	another file.    - CONCOL
	 .Strip comments out of code.    - STRIP
	 .Strip code out of comments etc.     - STRIPC

	 .Analize a names list of files and
	keep a running count of all the lines in the file 
	that contain the specified tokens.    - COUNTO
	.Analize a names list of files and
	keep a running count of all the lines in the file 
	do not contain the specified tokens.    - COUOKN
	-- --

	.Operate on a names list of files and
	delete all lines in the file 
	that contain the specified tokens.    - ELIM   
	.Operate on a names list of files and
	delete all lines in the file 
	that do not contain contain the specified tokens.    - ELINOT
	     -- ---

	.Extract a name list from an smergef type of file
	that is a file that has been specially merged to include the file name
	at the top of each module section.    - SNAM
	.Invert a file vertically or horizontally.	- INVER
							  INVERH

	.Create form letters from a boilerplate file & 
	a varables file.	- BOILER
	.Remove nonprinting characters from the end of lines to
	shorten the file.	- VARYIT
	.Replace multiple ASCII string's with other ASCII strings for
	all occurances in a file.	- REPSTR

	.Extract portions of a file occuring between a specified "start"
	and "stop" ASCII string.	- EXTRAC
	.Extract portions of a file occuring outside of  specified "start"
	and "stop" ASCII strings.	- EXTRN
	.Extract portions of a file occuring after a specified "start"
	ASCII string and number of following lines.	- EXTN

	.Extract portions of a file occuring outside of  specified "start"
	ASCII string and number of following lines.	- EXTNN
	.Give the complete "status" of a file, that is how many pages,
	lines, characters, lines/page, date, etc. etc.	- STAT
	.Correlate a list of tokens to definitions of the tokens in another
	file, in the same order as the origional token list.	- CORR

	.Insert a specified character at a given column for all lines of
	a file.		- INSERN
	.Move a set of columns in a file to a new location.	- MOVIT
	.Move a set of columns in a file to a new location but move
	each lines column down to the next line with wraparound to the
	top line.	- MOVDWN

	.Etc. Etc. Many more execs exist, print out this file and browse 
	through the detailed explanation of all of the execs to find a 
	treasure of applications and uses of these exec's!




 To execute any of these "execs" execute the following DCL command:

	"ASSIGN DM1 JAL"	- WHERE DM1 MAY BE REPLACED BY THE DISK 
				DEVICE THE "TECO-UTILITIES RESIDE ON

 This can be done right from the users own "starts.com" exec if desired

 Then type out this tecout.hlp file to determine how to call the 
 particular exec you require.

 Following are a few examples of how to invoke the execs:
 .(in interactive mode) - to concationate two file sideways
 	@JAL:CONCAT
 	<< follow the directions that are typed out >>
 	<< two files a & b are concationated (sidways) into file c >>

 Also support files *.nnn & *.ttt are not deleted on the user disk &  may be
 saved or deleted by the user seperately as their need dictates.  This allowes
 repetitive use of an exec by invoking the last line of  of the *.n, *.d or
 *.com relating to these execs eg. 
 << the previously created in1co.ttt in2co.ttt are used >>

 SET EXEC TECO
 EDIT/EXEC JALEXEC:CONCAT

 The *.nnn & *.ttt files are small & can be left or the user may wish to
 delete them periodically in a cleanup exec eg:
 @JAL:CLEAN.COM  

A further note about about using file ZZZZZZ.ZZZ upon exiting Teco. Simply 
delete the reference to ZZZZZ.ZZZ in the originating DCL com line and put 
what you desire in file ZZZZZ.ZZZ, such as executing the next DCL com line 
etc., in order to chain TECO Utility functions.

If the user desires to modify any of the execs please note that the first
"page" of the *.tec file is the most condensed vervion of all the "pages". in
the *.tec file and runs fastest. The last page has the most comments & runs
slowest. This is so because TECO runs faster if as many spaces carriage
returns and comments, as possible, are removed. When TECO executes the *.tec
file to perform the work the pages that follow the first page are not
executed because of the "eg$$" command at the end of the first page so the rest
of the file is just carried along for the "ride". So to modify any *.tec
files delete the first, and/or second, page and save the last page with full
blown comments etc. Modify that page, so that it is easier to see what the
logic is, then get the *.tec working in the fashion you desire. If you want
the *.tec to run faster just create a copy of the page and remove all the
comments etc. as I have done. 



1 BOILER


 This command line will allow the user to
 boilerplate two files. This means that the user may
 create a series of form files from a boilerplate and a 
 variables file. The variable file 
 is created by the user with variable names in the
 file that are as follows for the first ten variables: 
  ~0    ~1    ~2    ~3    ~4    ~5    ~6    ~7    ~8    ~9 
   
 For variables ten to twenty:
  ~A0   ~A1   ~A2   ~A3   ~A4   ~A5   ~A6   ~A7   ~A8   ~A9    

 Note: The squiggly line in the variable name's is the "tilde" 
 ASCII letter.

 Up to twenty variable names are allowed in
 this version. 
 
 
 The second file, the variables file, contains the information to be
 filled into the boilerplate file. 
 
 This file should be arranged as a namelist is arranged.
 This means that the variables should be each on a seperate line 
 and left justified. the variables may be any ASCII
 string including tabs and/or spaces imbedded. so
 if the boilerplate requires 2 variables, for
 example, the file would be arranged as follows: 







 
 Variable 1    for the first copy of the boilerplate - ~0 
 Variable 2    for the first copy of the boilerplate - ~1 
 Variable 1    for the second copy of the boilerplate - ~0
 Variable 2    for the second copy of the boilerplate - ~1
    "     "     "   "    "      "  "   "     "
    "     "     "   "    "      "  "   "     "
 Variable 1    for the N th copy of the boilerplate - ~0 
 Variable 2    for the N th copy of the boilerplate - ~1
 
 Etc.	Etc.
 
 
The command line queries the user for the file "a" - boilerplate file.
The command line queries the user for the number of variables.
	in the boilerplate ( 1-10 ).
The command line queries the user for the file "b" - variables file.
The command line queries the user fo the file "c" - resultant output file.
The resulting file will be named the "filename.filetype" specified in "c".




 Format:
	@JAL:BOILER.D - for interactive use


1 COLUMN 


 This command line will columnate a file that is it will find "tokens"
 (a token is a group of characters terminated by a space or a tab )
 and seperate the tokens by tabs in order to columnate the file.
 The user specifies how many tokens on a line he desires to "columnate" out to.
 The resulting file('s) will be named "filename.filetype".

****    the following are input queries to the user    ****

The command line queries the user for the file name.
The command line queries the user for the number of token to columnate to:
 
 Format:
	@JAL:COLUMN.D  - for interactive use


1 CONCAT 


 This command line will allow the user to concatinate two files together
 sideways ie. File "a" line 1 side by side with file "b" line 1 etc.

 The origional file('s) will be unchanged.
 The resulting file will be named to the user specification in "c".

****    the following are input queries to the user    ****

The command line queries the user for the name of source file a.
The command line queries the user for the name of source file b.
The command line queries the user for the name of destination file c.
 
 Format:
	@JAL:CONCAT.D  - for interactive use


1 CONCOL 


 This command line will allow the user to concationate two files together.
 N thru M COLUMNS from file "a" concationated with
 J thru K COLUMNS from file "B" 

 The origional file's will be unchanged.
 The resulting file will be named the "filename.filetype" specified in "c".

****    the following are input queries to the user    ****

The command line queries the user for the name of source file a.
The command line queries the user for the number "N".
The command line queries the user for the number "M".
The command line queries the user for the name of source file b.
The command line queries the user for the number "J".
The command line queries the user for the number "K".
The command line queries the user for the name of destination file c.
 
 Format:
	@JAL:CONCOL.D  - for interactive use



1 COPY

 This command line will create a general copy.nnn type of com line from a 
 name list and device specifications for the source & destination devices.
 The com line is also executed.

****    the following are input queries to the user    ****

The command line queries the user for the name list.
The command line queries the user for the source device name.
The command line queries the user for the destination device name.

 Format:
	@JAL:COPY.D - for interactive use

1 COPYE

 This command line will create a general copy.nnn type of com line from a 
 name list and device specifications for the source & destination devices
 this exec also allows the user to specify a file type extension for the
 for the sources and the destination files !!!!!
 a com line copy.nnn is created that the user may rename to save permanently.
 It is also executed.

****    the following are input queries to the user    ****

The command line queries the user for the name list.
The command line queries the user for the source device name.
The command line queries the user for the destination device name.
The command line queries the user for the source file extension name.
The command line queries the user for the destination file extension name.

 Format:
	@JAL:COPYE.D - for interactive use


1 CORR


 This command line will correlate a file "a" of tokens
 to another file "b" of lines of ascii text and build
 file "c" with lines from file "b" that contain
 "matching" tokens. The resulting file "c" will contain
 the "correlated" lines from file "b" in the same
 position as the tokens in file "a". Where no matches
 are found in file "b" file "c" will contain blank
 lines. Therefore file "c" will have just as many lines
 in it as file "a" and the "correlated" lines will be in
 the same position as file "a" tokens. This is of use in
 building up variables files for use with boilerplate
 exec. 

 An example follows:

Contents of file "A"	- contents between the quotes "" 

"area_mssg_avail"
"cent"
"c_in_mssg_end"

Contents of file "B"	- contents between the quotes ""

"area_mssg_avail : boolean"
"az : integer"
"c_in_mssg_end : integer"

Contents of file "C" after correlate_token runs - contents between quotes "" 

"area_mssg_avail : boolean"
""
"c_in_mssg_end : integer"

 The origional files will remain unmodified

 The results will be placed in "FILENAME.EXTENSION" of
 specified file "C" 

The command line queries the user for the name of the file "A"
The command line queries the user for the name of the file "B"
The command line queries the user for the name of the file "C"
The command line queries the user for the token or blank line switch

 Format:
	@JAL:CORR.D - for interactive use


1 COUNTO


 This command line will analize a names list of files and
 keep a running count of all the lines in the file 
 that contain the specified token.
 When finished it will put the results in  token.nnn
 which may be printed out.
 This exec inputs the token directly & so will only take one token.

 The origional files will remain unmodified.


****    the following are input queries to the user    ****


The command line queries the user for the name of the name list  of files.
The command line queries the user for the token.
Determine if user desires the top line of each file in output comments.

 Format:
	@JAL:COUNTO.D - for interactive use



1 COUNTE


 This command line will analize a names list of files and
 keep a running count of all the lines in the file 
 that contain the specified tokens.
 If more than one token is found on the same line the count will only 
 one for that line.
 When finished it will put the results in  tokene.nnn
 which may be printed out.

 The origional files will remain unmodified.


****    the following are input queries to the user    ****


The command line queries the user for the name of the name list  of files.
The command line queries the user for the file name of the token list.
Determine if user desires the top line of each file in output comments.

 Format:
	@JAL:COUNTE.D - for interactive use



1 COUNKF


 This command line will analize a names list of files and
 keep a running count of all the lines in the file 
 that contain the specified token.
 When finished it will put the results in  tokenf.nnn
 which may be printed out.

 This is similiar to countok except the token to search for is placed
 in a file name & the file name is supplied to the exec - this allows 
 carriage returns to be placed in the token, also then the count is not
 a line count but a total token count. COUNTE exec will not all this
 carriage return feature as it allows multiple tokens in the file.

 The origional files will remain unmodified.


****    the following are input queries to the user    ****


The command line queries the user for the name of the name list  of files.
The command line queries the user for the token file name.
Determine if user desires the top line of each file in output comments.

 Format:
	@JAL:COUNKF.D - for interactive use



1 COUNKL


 This command line will analize a names list of files and
 keep a running count of all the lines in the file 
 that contain all the specified tokens on a line.
 When finished it will put the results in  tokenl.nnn .
 Which may be printed out.

 The origional files will remain unmodified.

****    the following are input queries to the user    ****

The command line queries the user for the name of the name 
	list  of files .
The command line queries the user for the file name of the token list.
Determine if user desires the top line of each file in output comments.

 Format:
	@JAL:COUNKL.D - for interactive use


1 COUOKN


 This command line will analize a names list of files and
 keep a running count of all the lines in the file 
 that contain not all the specified tokens on a line.
              ---
 (not case of countokl)

 When finished it will put the results in  tokenln.nnn
 which may be printed out.

 The origional files will remain unmodified.

****    the following are input queries to the user    ****

The command line queries the user for the name of the name list of files.
The command line queries the user for the file name of the token list.
Determine if user desires the top line of each file in output comments.

 Format:
	@JAL:COUOKN.D - for interactive use


1 COUKLN


 This command line will analize a names list of files and
 keep a running count of all the lines in the file 
 that do not contain the specified tokens.
      -- --

 If more than one token is found on the same line the count will only 
 one for that line.
 When finished it will put the results in  tokenn.nnn
 which may be printed out.
 This is the "not case" of the COUNTE EXEC.

 The origional files will remain unmodified.


****    the following are input queries to the user    ****


The command line queries the user for the name of the name list  of files.
The command line queries the user for the file name of the token list.
Determine if user desires the top line of each file in output comments.

 Format:
	@JAL:COUKLN - for interactive use


1 CUTIT 


 This command line will truncate a file to a specific column that user
 specifies.
 Any lines that are less than than the column specified will not be
 modified!!!

 The resulting file('s) will be named "filename.filetype".

****    the following are input queries to the user    ****

The command line queries the user for the file name.
The command line queries the user for the column number to cut to.
 
 Format:
	@JAL:CUTIT.D  - for interactive use


1 DELET

 This command line will create a general delete.nnn type of com line from a 
 name list and a filetype for the destination files.

****    the following are input queries to the user    ****

The command line queries the user for the name list.

 Format:
	@JAL:DELET.D - for interactive use

 
1 DELETE


 This command line will allow the user to delete
 columns of a file as follows:
		- delete coulmn N thru column M all lines
		of a file. 

		NECESSARY CONDITIONS:

		     M > OR = N   

 The resulting file('s) will be named "filename.filetype".

****    the following are input queries to the user    ****

The command line queries the user for the file name.
The command line queries the user for the number "N".
The command line queries the user for the number "M".
 
 Format:
	@JAL:DELETE.D - for interactive use



1 DESHUF



 This command line will allow the user to deshuffel
 two files apart. 
 
 That means that n lines from file "A" are de-shuffeled into file  "B".
 Then m lines from file "A" are de-shuffeled into file "C". 
 Then n lines from file "A" are de-shuffeled into file "B".
 Then m lines from file "A" are de-shuffeled into file "C".
 Etc. Etc.  Until the entire file "A" has been de-shuffeled !! 
 
 NOTE: See EXEC SHUFEL for recombining two de-shuffeled
 files etc. 
 
 The origional file will be unchanged.
 The resulting file's will be named the   
 "filenames.filetype"  specified in File's "B" and "C" 


The command line queries the user for the file name of file "A"
The command line queries the user for the number to deshufel file 
	"B" to.
The command line queries the user for the file name of file "B"
The command line queries the user for the number to deshufel file 
	"C" to.
The command line queries the user for the file name of file "C"
 
 Format:
	@JAL:DESHUF.D - for interactive use


1 DIFF

 This command line will perform a differences  on modules similar to the way
 copy works but instead of a copy a differences is performed
 between files, a general diff.nnn type of com line is created from a 
 name list and device specifications for the source & destination devices.
 The com line diff.nnn is created that the user may 
 rename to save permanently.
 It is also executed.

****    the following are input queries to the user    ****

The command line queries the user for the name list.
The command line queries the user for the source device name.
The command line queries the user for the destination device name.

 Format:
	@JAL:DIFF.D - for interactive use

  
1 DIFFE

 This command line will perform a differences  on modules similar to the way
 copy works but instead of a copy a differences is performed
 between files, a general diff.nnn type of com line is created from a 
 name list and device specifications for the source & destination devices
 this exec also allows the user to specify a file type extension for the
 for the sources and the destination files !!!!!
 The com line diff.nnn is created that the user may 
 rename to save permanently.
 It is also executed.

****    the following are input queries to the user    ****

The command line queries the user for the name list.
The command line queries the user for the source device name.
The command line queries the user for the destination device name.
The command line queries the user for the source file extension name.
The command line queries the user for the destination file extension name.

 Format:
	@JAL:DIFFE.D - for interactive use

  
1 DIFLIS

 This command line will perform a differences  on modules similar to the way
 copy works but instead of a copy a differences is performed
 between files, a general diff.nnn type of com line is created from a 
 name list and device specifications for the source & destination devices.
 The com line diff.nnn is created that the user may 
 rename to save permanently.
 It is also executed.
 The difference between this and DIFF is that a "FILENAME.lis" file is 
 created that contains the differences.

****    the following are input queries to the user    ****

The command line queries the user for the name list.
The command line queries the user for the source device name.
The command line queries the user for the destination device name.

 Format:
	@JAL:DIFLIS.D - for interactive use

  
1 DUPELM

This command line will eliminate duplicate lines in a file.
Caution only the first 127 characters of the token, or ASCII
string, on each line will be considered because of search string
limitations in TECO. Lines shorter than 127 characters are 
compared for the full length of the line. This is an exact type
of search, that is the ASCII string on a given line must exactly
match another line or it wont be eliminated! 

CAUTION THE ORIGIONAL FILE WILL BE MODIFIED!!!

The command line queries the user for the name of the file.

 Format:
	@JAL:DUPELM.D - for interactive use

1 ELIM


 This command line will operate on a names list of files and
 delete all lines in the file 
 that contain the specified tokens.

 Caution - The origional files will be modified.


****    the following are input queries to the user    ****


The command line queries the user for the name of the name list  of files.
The command line queries the user for the file name of the token list.


 Format:
	@JAL:ELIM.D - for interactive use



1 ELINOT


 This command line will operate on a names list of files and
 delete all lines in the file 
 that do not contain contain the specified tokens.
      -----

 Caution - The origional files will be modified.

****    the following are input queries to the user    ****



The command line queries the user for the name of the name list  of files.
The command line queries the user for the file name of the token list.

 Format:
	@JAL:ELINOT.D  - for interactive use




1 ELIMB


 This command line will operate on a names list of files and
 delete all lines in the file until
 the specified token is reached.

 Caution - The origional files will be modified.

****    the following are input queries to the user    ****

The command line queries the user for the name of the file.
The command line queries the name of the name list  of files 	
The command line queries the file name of the token 	

 Format:
	@JAL:ELIMB.D - for interactive use


1 ELIME


 This command line will operate on a names list of files and
 delete all lines in the file between two tokens.
 IE: The "middle"  of the file is deleted and the "ends" are saved.
 This is the opposite of how elimends exec operates.

 Caution - The origional files will be modified.

****    the following are input queries to the user    ****

The command line queries the name of the name list  of files 	
The command line queries the first token file name	
The command line queries the second token file name	

 Format:
	@JAL:ELIMID.D  - for interactive use


1 ELIME


 This command line will operate on a names list of files and
 delete all lines untill the first token is reached
 save all the lines until the second token is reached
 then delete the rest of the lines in the file.
 IE: The "ends" of the file are deleted and the "middle" is saved.
 This is the opposite of how ELIMIDDLE exec operates.

 Caution - The origional files will be modified.

****    the following are input queries to the user    ****

The command line queries the name of the name list  of files 	
The command line queries the first token file name	
The command line queries the second token file name	

 Format:
	@JAL:ELIME.D - for interactive use


1 ELIMA


 This command line will operate on a names list of files and
 delete all lines in the file 
 after the specified token is reached.

 Caution - The origional files will be modified.

****    the following are input queries to the user    ****

The command line queries the name of the name list  of files 	
The command line queries the file name of the token 	

 Format:
	@JAL:ELIMA.D - for interactive use




1 EXTRAC


This command line will extract lines from a file based upon
a "STARTING" ACSII string and an "ENDING" ACSII string.

The origional file will remain unmodified.
The results will be placed in "filename.ext."

The command line queries the user for the name of the file.
The command line queries the user for the file name of the "START" 
		search string.
The command line queries the user for the file name of the "STOP" 
		search string.	


 Format:
	@JAL:EXTRAC.D - for interactive use


1 EXTN

 
This command line will extract lines from a file based upon
a "STARTING" ACSII string and a number of lines.
The extraction begins for at the line containing the "START_STRING"
and proceeds for the next "n" user specified lines.

The origional file will remain unmodified.
The results will be placed in "filename.ext".

The command line queries the user for the name of the file.
The command line queries the user for the file name of the "START" 
		search string.
The command line queries the user for the number "n".


 Format:
	@JAL:EXTN.D - for interactive use



1 EXTRN


This command line will extract lines from a file based upon
a "STARTING" ACSII string and a number of lines.
It performs as a "NOT" function of EXTRACT_NEXT.

The extraction begins until line containing the "start_string"
and stops for the next "N" user specified lines. etc.

The origional file will remain unmodified.
The results will be placed in "filename.exn"

The command line queries the user for the name of the file.
The command line queries the user for the file name of the "START" 
		search string.
The command line queries the user for the number "n".


 Format:
	@JAL:EXTRN.D - for interactive use


1 EXTRNN


This command line will extract lines from a file based upon
a "STARTING" ACSII string and an "ENDING" ACSII string.
This exec is the "NOT" function of "EXTRACT"
that is it will delete the lines between the START_STRING and 
STOP_STRING and save the rest.

The origional file will remain unmodified.
The results will be placed in "filename.exn".

The command line queries the user for the name of the file.
The command line queries the user for the file name of the "START" 
		search string.
The command line queries the user for the file name of the "STOP" 
		search string.	

 Format:
	@JAL:EXTRNN.D - for interactive use


1 FIXIT 


 This command line will truncate or pad a file to a specific column that user
 specifies.

 The resulting file('s) will be named "filename.filetype".

****    the following are input queries to the user    ****

The command line queries the user for the file name.
The command line queries the user for the column number to fix to.
 
 Format:
	@JAL:FIXIT.D  - for interactive use


1 FORM 
This command line will allow the user to insert a form feed every "N" 
lines of a file. the user specifies:
	.The number "N" of lines after which to place a form feed

 The resulting file('s) will be named "filename.filetype".

****    the following are input queries to the user    ****

The command line queries the user for the file name.
The command line queries the user for the starting number
 
 Format:
	@JAL:FORM.D - for interactive use



1 GOHEAD 


 This command line will allow the user to find a form feed & delete it &
 "N" lines of a file. The user specifies:
			.The number "N" of lines to delete after a form feed

 The resulting file('s) will be named "filename.filetype".

****    the following are input queries to the user    ****

 The command line queries the user for the name of source file.
 The command line queries the user for the starting number.

 
 Format:
	@JAL:GOHEAD.D  - for interactive use


 1 GOSPAC


 This command line will convert a file with spaces in it to a file
 with tabs in it - it must be an ascii file column integrity will be
 maintained.

 The resulting file('s) will be named "filename.filetype".
 The user specifies the file name.

****    THE FOLLOWING ARE INPUT QUERIES TO THE USER    ****

 The command line queries the user for the file name
 
 Format:
	@JAL:GOSPAC.D - for interactive use


1 GOTABS 


 This command line will convert a file with tabs in it to a file
 with spaces in it - it must be an ascii file.

 The resulting file('s) will be named "filename.filetype".
 The user specifies the file name.

****    the following are input queries to the user    ****

The command line queries the user for the file name.
 
 Format:
	@JAL:GOTABS.D  - for interactive use


1 HEADER 


 This command line will allow the user to insert a header with 
 form feed every "N" 
 lines of a file. the user specifies:
			.The number "N" of lines after which to place a form 
				feed.
			.The file name of the source & header.
			.The starting page number.

 It also puts a form feed at the fromt of the file.

 The resulting file('s) will be named "filename.filetype".


****    the following are input queries to the user    ****

 The command line queries the user for the name of source file.
 The command line queries the user for the starting number.
 The command line queries the user for the name of header file.
 The command line queries the user for the starting page number.

 
 Format:
	@JAL:HEADER.D  - for interactive use


1 INSERN


 This command line will allow the user to insert ascii characters after
 every N number of characers of a line for all lines of a file.
 The ascii characters may be one character or as many as numbers of lines of
 characters.

 The resulting file('s) will be named "filename.filetype".

****    the following are input queries to the user    ****

The command line queries the user for the file name.
The command line queries the user for the number "N".
The command line queries the user for the name of 
	the file that contains the ascii characters.
 
 Format:
	@JAL:INSERN.D - for interactive use


1 INSERT 


 This command line will allow the user to insert M user characters after
 N column of a file for all lines.

 The resulting file('s) will be named "filename.filetype".

****    the following are input queries to the user    ****

The command line queries the user for the file name.
The command line queries the user for the number "N".
The command line queries the user for the character to insert.
The command line queries the user for the number "M".
 
 Format:
	@JAL:INSERT.D  - for interactive use


1 INVHOR

 This command line will invert a file line by line 
 The first character of each line becomes the last character.
 The last character of each line becomes the first character. etc.

 The following file:
 TEST A
 TEST B
  
 Will become:
 A TSET
 B TSET

 Caution the origional file will be modified!!!

The command line queries the user for the file name to invert.
 
 Format:
	@JAL:INVHOR.D - for interactive use



1 INVER

 This command line will invert a file vertically that is 
 The first line becomes the last line.
 The last line becomes the first line. etc.

 The following file:
 TEST A
 TEST B
 TEST C
 TEST D
  
 Will become:
 TEST D
 TEST C
 TEST B
 TEST A

 CAUTION the origional file will be modified!

The command line queries the user for the file name to invert.
 
 Format:
	@JAL:INVER.D - for interactive use


1 LINES

 This command line will analize a names list of files and
 keep a running count of all the lines in the files
 when finished it will put the results in lines.nnn
 which may be printed out.
 The origional files will remain unmodified.

The command line queries the user for the name of the .tec file	.

 Format:
	@JAL:LINES.D - for interactive use


1 MACROL


This command line will allow the user to operate a teco macro on a  names
list of files  a file at a time , a line at a time  .

 Caution - The origional files will be modified.

****    the following are input queries to the user    ****

The command line queries the user for the name of the name list  of files.
The command line queries the user for the file name of the user teco macro.

 Format:
	@JAL:MACROL.D - for interactive use


1 MACROP


This command line will allow the user to operate a teco macro on a  names
list of files  a file at a time , a page at a time.

 Caution - The origional files will be modified.

****    the following are input queries to the user    ****

The command line queries the user for the name of the name list  of files.
The command line queries the user for the file name of the user teco macro.

 Format:
	@JAL:MACROP.D - for interactive use


1 MERGE

 This command line will merge a name list of files. This exec will not merge
 more than 200 files. If a larger number of files is desired to be merged see
 MERGEB in TEXEC , which runs a little slower but will merge an unlimited 
 number of files. Also SMERGE and SMERGF in TEXEC have special features which 
 may be of interest to the user.

The command line queries the user for the name of the list of files.
The command line queries the user for the name of the module to 
	merge into.

 NOTE The user should be careful not to destroy or modify the file 
      terminators as it would not be possible to again split them out
      in the exec split.n

 Format:
	@JAL:MERGE.D - for interactive use


1 MERGEB


 This command line will merge a name list of files, but do it on an unlimited
 list of files. This exec runs a little slower than merge or smerge.

****    the following are input queries to the user    ****

The command line queries the user for the name of the list of files.
The command line queries the user for the name of the module to merge into.

 Format:
	@JAL:MERGEB.D - for interactive use


1 MOVDWN 


 This command line will allow the user to move 
 move coulmn N thru column M to column P on all lines
 of a file. Like "moveit" but 
 places the M THRU N portion down to the next line in 
 the P position. Like a good rotate routine the last 
 line in the file's M THRU N is placed in the first
 lines P position.
		NECESSARY CONDITIONS:

		[     M > OR = N   
	&   (    P > OR = M   OR   P < N    )    ]

 The resulting file('s) will be named "filename.filetype".

****    the following are input queries to the user    ****

The command line queries the user for the file name.
The command line queries the user for the number "N".
The command line queries the user for the number "M".
The command line queries the user for the number "P".
 
 Format:
	@JAL:MOVDWN.D  - for interactive use


1 MOVEIT 


 This command line will allow the user to move 
 columns of a file around as follows:
		- move coulmn N thru column M to after column P on all lines
		of a file. 

		NECESSARY CONDITIONS:

		[     M > OR = N   
	&   (    P > OR = M   OR   P < N    )    ]

 The resulting file('s) will be named "filename.filetype".

****    the following are input queries to the user    ****

The command line queries the user for the file name.
The command line queries the user for the number "N".
The command line queries the user for the number "M".
The command line queries the user for the number "P".
 
 Format:
	@JAL:MOVEIT.D  - for interactive use


1 NAM

 This command line will create a name list for the user.
 The user specifies the name list name & dir criteria.
 A com line name.nnn is created that the user may rename to save permanently.

****    the following are input queries to the user    ****

The command line queries the user for the name of the file
	to contain the name list.
The command line queries the user for the directory criteria.

 Format:
	@JAL:NAM.D - for interactive use


  
1 NUMBER 


 This command line will allow the user to number
 the lines of a file. The user specifies:
			.the starting number
			.the number base
			.the number interval
			.the column in which to begin the numbering "N" 
			.the column in which to end the numbering   "M"
			.the line number which to begin the numbering on
			.the line frequency in which to number ie:
				 1 means every line
				 2 means every other line etc.

			note: if insufficient columns are specified to hold 
				all the numbers that are generated the exec
				will truncate the most significant portion
				of the generated number and place the portion
				that is left over in the column(s) specified.

			note: it is sugested that the user first run "fixit"
				and/or "insert" first because this exec 
				overlays the columns specified above with the 
				numbering system

 The resulting file('s) will be named "filename.filetype".

****    the following are input queries to the user    ****

The command line queries the user for the name of source file.
The command line queries the user for the starting number.
The command line queries the user for the number base.
The command line queries the user for the number interval.
The command line queries the user for the column in which to 
	begin the numbering "N".
The command line queries the user for the column in which to end 
	the numbering "M".
The command line queries the user for the line number which 
	to begin the numbering on.
The command line queries the user for the line frequency with 
which to number.

 Format:
	@JAL:NUMBER.D  - for interactive use


1 PADCHR 


This command line will pad out a file to a specific column that user
specifies. The  user may also specify the pad character to be used, if none
is specified  a  space is used by default. Any lines that are greater than
the column  specified will not be  modified!!! 

The resulting file('s) will be named "filename.filetype".  

****    the following are input queries to the user    ****

The command line queries the user for the file name.
The command line queries the user for the column number to pad out to.
The command line queries the user for the character to pad out with.
 
 Format:
	@JAL:PADCHR.D  - for interactive use


1 PADIT 


This command line will pad out a file to a specific column that user 
specifies.  Any lines that are greater than the column specified will not be 
modified!!! 

The resulting file('s) will be named "filename.filetype".

****    the following are input queries to the user    ****

The command line queries the user for the file name.
The command line queries the user for the column number to pad out to.
 
 Format:
	@JAL:PADIT.D  - for interactive use


1 PRINT

 This command line will create a print com line for the user
 to print the files found in a name list.
 The user specifies the name list name .
 A com line print.nnn is created that the user may rename to save permanently.

****    the following are input queries to the user    ****

The command line queries the user for the name list.

 Format:
	@JAL:PRINT.D - for interactive use

  
1 PRINTE

 This command line will create a print com line for the user.
 This allows the user to use the file names found in the name list
 and further specify a different file extension to be used in the print.
 A com line print.nnn is created that the user may rename to save permanently

****    the following are input queries to the user    ****

The command line queries the user for the name list.
The command line queries the user for the filename extension.

 Format:
	@JAL:PRINTE.D - for interactive use

  
1 REDSEA


You gussed it! This comline allows the user to split a file into two
files down a specified column number N.

 The origional file will be unchanged.
 The resulting file's will be named as specified by the user.

****    the following are input queries to the user    ****

The command line queries the user for the name of source file a
The command line queries the user for the number "N"
The command line queries the user for the name of destination file b
The command line queries the user for the name of destination file c
 
 Format:
	@JAL:REDSEA.D - for interactive use


1 RENAM

 This command line will renamt a name list of files.
 the user specifies the name list name.
 A com line renam.nnn is created that the user may rename to save permanently.

****    the following are input queries to the user    ****

The command line queries the user for the name list.
The command line queries the user for the destination file extension name.


 Format:
	@JAL:RENAM.D - for interactive use
  
1 RENAME

 This command line will renamt a name list of files.
 The user specifies the source name list name.
 The user specifies the destination name list name.

 This com line willnot operate properly if the two name lists have
 a different number of entries - the burden is upon the user !!

 A com line renam.nnn is created that the user may rename to save permanently.

****    the following are input queries to the user    ****

The command line queries the user for the source name list.
The command line queries the user for the destination name list.

 Format:
	@JAL:RENAME.D - for interactive use


  
1 REPSTR

This command line will replace all occurances of specified user
ASCII strings with specified user ASCII strings. The user
specifies a file to be operated upon and a file with the
replacement strings. There are no file size limitations. The 2nd
file of ASCII strings is set up as follows: 

File "B" containing the replacement ASCII string information.
"ASCII_STRING_TO_BE_REPLACED_1"
"ASCII_STRING__REPLACING_STRING_TO_BE_REPLACED_1"
"ASCII_STRING_TO_BE_REPLACED_2"
"ASCII_STRING__REPLACING_STRING_TO_BE_REPLACED_2"
	""	""	""	""	""
	""	""	""	""	""
"ASCII_STRING_TO_BE_REPLACED_n"
"ASCII_STRING__REPLACING_STRING_TO_BE_REPLACED_n"

In other words the first line is the string to be replaced the
next line contains the replacement string. 


Caution the origional file will be modified!!!

The command line queries the name of the file "a"
The command line queries the name of the file "b"
 
 Format:
	@JAL:REPSTR.D - for interactive use



1 SHUFEL 


 This command line will allow the user to shuffel two files together
 N lines from file "a" shuffeled with
 M lines from file "b".

 The origional file's will be unchanged.
 The resulting file will be named the "filename.filetype" specified in "c".

****    the following are input queries to the user    ****

The command line queries the user for the name of source file a.
The command line queries the user for the number "N".
The command line queries the user for the name of source file b.
The command line queries the user for the number "M".
The command line queries the user for the name of destination file c.
 
 Format:
	@JAL:SHUFEL.D  - for interactive use


1 SIMPLI

 This command line will simplify an ASCII expression of the
 following type: 

 AREA_NO, DISP_AREA_NO : INTEGER;

 Simplifying it into:

 AREA_NO : INTEGER;
 DISP_AREA_NO : INTEGER;
 
 In this example the user would specify the seperating character
 "," and the the beginning character ":" defining the common ASCII
 string to all duplicated lines. 

 NOTE: This version of the exec exec is simple in that it insists
 that the string to be "simplified" be on a single line and
 assumes that the portion common to all simplified lines follows
 from the beginning character ":" to the end of the line. in the
 above example this would be: 

 ": INTEGER;"

 This is of use in building up variables files for use with
 boilerplate exec. 

 The origional files will be modified !!

The command line queries the user for the name of the file.
The command line queries the user for the the SEPERATING character "," 	
The command line queries the user for the the BEGINNING character ":" 	

NOTE: The user may of coure utilize any character for the BEGINNING or
	SEPERATING character!

 Format:
	@JAL:SIMLI.D - for interactive use


  

1 SMERGE


 This command line will merge a name list of files
 with special terminators.


****    the following are input queries to the user    ****

The command line queries the user for the name of the list of files.
The command line queries the user for the name of the module to merge into.

 Format:
	@JAL:SMERGE.D - for interactive use



1 SMERGF


 This command line will merge a name list of files
 with special terminators & placing the name at the top 
 of the file.

****    the following are input queries to the user    ****


The command line queries the user for the name of the list of files.
The command line queries the user for the name of the module to merge into.

 Format:
	@JAL:SMERGF.D - for interactive use



1 SNAM


 This command line will extract a name list from an smergef type of file
 that is a file that has been specially merged to include the file name
 at the top of each module section in the form:
 
     ....   previous module stuff    ....

     %&?%&?%&?%&?%&?%&?%&?%&?
     <ff>
     NEXT MODULE'S  NAME

     ....   next module stuff    ....


     etc.  etc.

 See TOKSEP for one of the other possible uses of this exec.

****    the following are input queries to the user    ****


The command line queries the user for the name of the list of files to 
	create.
The command line queries the user for the name of the merge module.

 Format:
	@JAL:SNAM.D - for interactive use



1 SPLIT

 This command line will split out a name list of files from a merged file
 and let the user know a differ.nnn line exists!

 This exec will not split
 more than 200 files. If a larger number of files is desired to be split see
 SPLITB in TEXEC , which runs a little slower but will split an unlimited 
 number of files. Also SSPLIT and SNAM in TEXEC have special features which 
 may be of interest to the user.

 The resulting file('s) will be named "filename.filetype"

****    the following are input queries to the user    ****

The command line queries the user for the name of the list of files.
The command line queries the user for the name of the module to split.

 Format:
	@JAL:SPLIT.D - for interactive use


1 SPLITB


 This command line will split a name list of files, but do it on an unlimited
 list of files. This exec runs a little slower than ssplit.

 The origional file('s) will be renamed "filename.bak".
 The resulting file('s) will be named "filename.filetype".

****    the following are input queries to the user    ****

The command line queries the user for the name of the list of files.
The command line queries the user for the name of the module to split.

 Format:
	@JAL:SPLITB.D - for interactive use


1 SQUCHR 


 This command line will squeze out extra occurances of a user specified
 character from a file.

 The resulting file('s) will be named "filename.filetype".

****    the following are input queries to the user    ****

The command line queries the user for the file name.
The command line queries the user for the character to squeze 
	out extra occurances of:
 
 Format:
	@JAL:SQUCHR.D  - for interactive use


1 SQUEZE 


 This command line will squeze out extra spaces & tabs from a file

 The resulting file('s) will be named "filename.filetype".

The command line queries the user for the file name
 
 Format:
	@JAL:SQUEZE.D  - for interactive use


1 SSPLIT


 This command line will split a merged file from a name list of files.

 The origional file('s) will be renamed "filename.bak".
 The resulting file('s) will be named "filename.filetype"
 with special terminators.

****    the following are input queries to the user    ****


The command line queries the user for the name of the list of files.
The command line queries the user for the name of the module to split.

 Format:
	@JAL:SSPLIT.D - for interactive use



1 STAT 


 This command line will analize a file for the following:
	. Date,name of subject file (ie a full dir)
	. Total number of pages in the file
	. Total number of lines in the file 
	. Total number of characters in the file
	. Number of lines/page
	. Number of characters/page
	. Line number of largest & smallest line length 
 		in the file
	. If the file contains any tabs or not


 When finished it will put the results in "FILENAME".nnn
 which may be printed out.
 The origional file will remain unmodified.

The command line queries the user for the name of the file.
The command line queries the user for the options for 
	analizing the file. 	

 Format:
	@JAL:STAT.D - for interactive use


1 STRIP 


 This command line will strip a file of its comments & leave the code
			the user 
			specifies a character that is a comment demarker, such
			as a ; or c or * etc. When a line begins with 
			that character the rest of the line is deleted. Also
			the user may specify that after so many token 
			seperators on 
			a line the rest of the line is deleted. Eg.
tag	mov	code	comment				or
	mov	code	comment
			in the above example of a common computer language 3
			token seperators will cause deletion of the comment 
			portion. Etc. eg.
c	comments
tag	fortran statements !comment
			the above is a special case for the dec fortran 
			language. If the user uses the exec stripf.doc
			this case will be handled
			if the user specifies a zero for the token seperator 
			no comments will be deleted on lines unless they 
			have the the comment character preceeding the comment

 The resulting file('s) will be named "filename.filetype".

****    the following are input queries to the user    ****

The command line queries the user for the file name.
The command line queries the user for the character to regard 
	as the comment leader.
The command line queries the user for the number of token to columnate to: .
 
 Format:
	@JAL:STRIP.D  - for interactive use


1 STRIPC 


 This command line will strip a file of its code & leave the comments 
			the user 
			specifies a character that is a comment demarker, such
			as a ; or c or * etc. When a line begins with 
			that character the rest of the line is saved. Also
			the rest of the lines are deleted

 The resulting file('s) will be named "filename.filetype".

****    the following are input queries to the user    ****

The command line queries the user for the file name.
The command line queries the user for the character to regard 
	as the comment leader.
 
 Format:
	@JAL:STRIPC.D  - for interactive use


1 TOKSEP


 This command line will add seperators to a names list of files and
 based upon a search token & a specified user teco macro.
 This is a special exec useful is splitting a file up that contains multiple
 modules in it! The proceedure is to put seperators the files that match the 
 terminators placed in a merged file by SMERGE. Then merge the files 
 MERGEF (which places the module name at the top of the merged file) 
 and extract a pseudo name list utilizing SNAM. The pseudo name list can be 
 then edited to polish up the final name list. Then either the merge file 
 with the names at the top may be split out or a new merge file utilized and 
 created by MERGE or SMERGE or MERGEB, from the TOKSEP created files, may be
 utilized for the final SPLIT.

 CAUTION -  The origional files will be modified.


The command line queries the user for the name of the name list  of files.
The command line queries the user for the token.
The command line queries the user for the file name of the user teco macro.
	an example is TOKS.TEC

 Format:
	@JAL:TOKSEP.D - for interactive use




1 TRAN 


 This command line will translate one set of printable ascii 
 characters into another set of printable ascii characters.
 Based upon a translation table provided by the user.
 An example translation table "xlaton.txt" exists that the user may copy 
 and modify to suit his needs. "xlaton.txt" If used as is would affect no
 change to the users file.
 The first character in the line of the file "xlaton.txt" represents 
 the origional ascii character the second character the translation character.
 NOTE: It is suggested that the user not translate two characters into the 
 same character or it will be impossible to translate the text back into
 the origional. Normally if the user desires to translate back into the 
 origional they may use the exec "column.doc" to exchange columns 1 & 2 of
 the translation table and run "tran.doc" again etc.

 The resulting file('s) will be named "filename.filetype".

****    the following are input queries to the user    ****

The command line queries the user for the name of the user file to translate.
The command line queries the user for the name of the user file 
	to use as a translation table.
 
 Format:
	@JAL:TRAN.D  - for interactive use


1 TYP

 This command line will create a typ com line for the user
 to typ the files found in a name list.
 The user specifies the name list name.
 A com line typ.nnn is created that the user may rename to save permanently.

****    the following are input queries to the user    ****

The command line queries the user for the name list.


 Format:
	@JAL:TYP.D - for interactive use
 
1 TYPE

 This command line will create a type com line for the user.
 This allows the user to use the file names found in the name list.
 and further specify a different file extension to be used in the typeout.
 A com line type.nnn is created that the user may rename to save permanently.

****    the following are input queries to the user    ****

The command line queries the user for the name list.

 Format:
	@JAL:TYPE.D - for interactive use
 


1  VARYIT 

 This command line will vary a file by deleting all non printing
 characters at the end of each line.
 The origional file('s) will be renamed "filename.bak"
 The resulting file('s) will be named "filename.filetype"
 any lines that are less than than the column specified will not be
 modified!!!

****    the following are input queries to the user    ****

The command line queries the user for the name list.


 Format:
	@JAL:VARYIT.D - for interactive use
 
