ASA(P) POSIX Programmer's Manual ASA(P)
asa - interpret carriage-control characters
asa [ file ... ]
The asa utility shall write its input files to standard output, mapping carriage-control
characters from the text files to line-printer control sequences in an implementation-
The first character of every line shall be removed from the input, and the following
actions are performed.
If the character removed is:
The rest of the line is output without change.
0 A <newline> is output, then the rest of the input line.
1 One or more implementation-defined characters that causes an advance to the next
page shall be output, followed by the rest of the input line.
+ The <newline> of the previous line shall be replaced with one or more implementa-
tion-defined characters that causes printing to return to column position 1, fol-
lowed by the rest of the input line. If the '+' is the first character in the
input, it shall be equivalent to <space>.
The action of the asa utility is unspecified upon encountering any character other than
those listed above as the first character in a line.
file A pathname of a text file used for input. If no file operands are specified, the
standard input shall be used.
The standard input shall be used only if no file operands are specified; see the INPUT
The input files shall be text files.
The following environment variables shall affect the execution of asa:
LANG Provide a default value for the internationalization variables that are unset or
null. (See the Base Definitions volume of IEEE Std 1003.1-2001, Section 8.2, Inter-
nationalization Variables for the precedence of internationalization variables used
to determine the values of locale categories.)
LC_ALL If set to a non-empty string value, override the values of all the other interna-
Determine the locale for the interpretation of sequences of bytes of text data as
characters (for example, single-byte as opposed to multi-byte characters in argu-
ments and input files).
Determine the locale that should be used to affect the format and contents of diag-
nostic messages written to standard error.
Determine the location of message catalogs for the processing of LC_MESSAGES .
The standard output shall be the text from the input file modified as described in the
The following exit values shall be returned:
0 All input files were output successfully.
>0 An error occurred.
CONSEQUENCES OF ERRORS
The following sections are informative.
1. The following command:
permits the viewing of file (created by a program using FORTRAN-style carriage-control
characters) on a terminal.
2. The following command:
a.out | asa | lp
formats the FORTRAN output of a.out and directs it to the printer.
The asa utility is needed to map "standard" FORTRAN 77 output into a form acceptable to
contemporary printers. Usually, asa is used to pipe data to the lp utility; see lp.
This utility is generally used only by FORTRAN programs. The standard developers decided
to retain asa to avoid breaking the historical large base of FORTRAN applications that put
carriage-control characters in their output files. There is no requirement that a system
have a FORTRAN compiler in order to run applications that need asa.
Historical implementations have used an ASCII <form-feed> in response to a 1 and an ASCII
<carriage-return> in response to a '+' . It is suggested that implementations treat char-
acters other than 0, 1, and '+' as <space> in the absence of any compelling reason to do
otherwise. However, the action is listed here as "unspecified", permitting an implementa-
tion to provide extensions to access fast multiple-line slewing and channel seeking in a
fort77 , lp
Portions of this text are reprinted and reproduced in electronic form from IEEE Std
1003.1, 2003 Edition, Standard for Information Technology -- Portable Operating System
Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by
the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the
event of any discrepancy between this version and the original IEEE and The Open Group
Standard, the original IEEE and The Open Group Standard is the referee document. The orig-
inal Standard can be obtained online at http://www.opengroup.org/unix/online.html .
IEEE/The Open Group 2003 ASA(P)