FSPEC(5) — FILE FORMATS
NAME
fspec − format specification in text files
DESCRIPTION
It is sometimes convenient to maintain text files on the UNIX system with non-standard tabs, (i.e., tabs which are not set at every eighth column). Such files must generally be converted to a standard format, frequently by replacing all tabs with the appropriate number of spaces, before they can be processed by UNIX system commands. A format specification occurring in the first line of a text file specifies how tabs are to be expanded in the remainder of the file.
A format specification consists of a sequence of parameters separated by blanks and surrounded by the brackets <: and :>. Each parameter consists of a keyletter, possibly followed immediately by a value. The following parameters are recognized:
ttabs The t parameter specifies the tab settings for the file. tabs must be one of the following:
1. a list of column numbers separated by commas, indicating tabs set at the specified columns;
2. a − followed immediately by an integer n, indicating tabs at intervals of n columns;
3. a − followed by the name of a “canned” tab specification.
Standard tabs are specified by t−8, or equivalently, t1,9,17,25,etc. The canned tabs which are recognized are as follows:
a 1,10,16,36,72
Assembler, IBM S/370, first format
a2 1,10,16,40,72
Assembler, IBM S/370, second format
c 1,8,12,16,20,55
COBOL, normal format
c2 1,6,10,14,49
COBOL compact format (columns 1-6 omitted). Using this code, the first typed character corresponds to card column 7, one space gets you to column 8, and a tab reaches column 12. Files using this tab setup should include a format specification as follows:
<:t−c2 m6 s66 d:>
c3 1,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,67
COBOL compact format (columns 1-6 omitted), with more tabs than c2. This is the recommended format for COBOL. The appropriate format specification is:
<:t−c3 m6 s66 d:>
f 1,7,11,15,19,23
FORTRAN
p 1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61
PL/I
s 1,10,55
SNOBOL
u 1,12,20,44
UNIVAC 1100 Assembler
ssize The s parameter specifies a maximum line size. The value of size must be an integer. Size checking is performed after tabs have been expanded, but before the margin is prepended.
mmargin
The m parameter specifies a number of spaces to be prepended to each line. The value of margin must be an integer.
d The d parameter takes no value. Its presence indicates that the line containing the format specification is to be deleted from the converted file.
e The e parameter takes no value. Its presence indicates that the current format is to prevail only until another format specification is encountered in the file.
Default values, which are assumed for parameters not supplied, are t−8 and m0. If the s parameter is not specified, no size checking is performed. If the first line of a file does not contain a format specification, the above defaults are assumed for the entire file. The following is an example of a line containing a format specification:
∗ <:t5,10,15 s72:> ∗
If a format specification can be disguised as a comment, it is not necessary to code the d parameter.
Several UNIX system commands correctly interpret the format specification for a file. Among them is newform(1) which may be used to convert files to a standard format acceptable to other UNIX system commands.
SEE ALSO
Sun Release 3.2 — Last change: 15 April 1986