ASA(1)                     POSIX Programmer's Manual                    ASA(1)



PPRROOLLOOGG
       This manual page is part of the POSIX Programmer's Manual.  The OS
       implementation of this interface may differ (consult the corresponding
       OS manual page for details of OS behavior), or the interface may not be
       implemented on OS.

NNAAMMEE
       asa -- interpret carriage-control characters

SSYYNNOOPPSSIISS
       asa [[_f_i_l_e...]]

DDEESSCCRRIIPPTTIIOONN
       The _a_s_a 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-defined manner.

       The first character of every line shall be removed from the input, and
       the following actions are performed.

       If the character removed is:

       <space>   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 implementation-defined characters that causes
                 printing to return to column position 1, followed 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 _a_s_a utility is unspecified upon encountering any
       character other than those listed above as the first character in a
       line.

OOPPTTIIOONNSS
       None.

OOPPEERRAANNDDSS
       _f_i_l_e      A pathname of a text file used for input. If no _f_i_l_e operands
                 are specified, the standard input shall be used.

SSTTDDIINN
       The standard input shall be used if no _f_i_l_e operands are specified, and
       shall be used if a _f_i_l_e operand is ''--'' and the implementation treats
       the ''--'' as meaning standard input.  Otherwise, the standard input shall
       not be used.  See the INPUT FILES section.

IINNPPUUTT FFIILLEESS
       The input files shall be text files.

EENNVVIIRROONNMMEENNTT VVAARRIIAABBLLEESS
       The following environment variables shall affect the execution of _a_s_a:

       _L_A_N_G      Provide a default value for the internationalization
                 variables that are unset or null. (See the Base Definitions
                 volume of POSIX.1-2017, _S_e_c_t_i_o_n _8_._2, _I_n_t_e_r_n_a_t_i_o_n_a_l_i_z_a_t_i_o_n
                 _V_a_r_i_a_b_l_e_s for the precedence of internationalization
                 variables used to determine the values of locale categories.)

       _L_C___A_L_L    If set to a non-empty string value, override the values of
                 all the other internationalization variables.

       _L_C___C_T_Y_P_E  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 arguments and input
                 files).

       _L_C___M_E_S_S_A_G_E_S
                 Determine the locale that should be used to affect the format
                 and contents of diagnostic messages written to standard
                 error.

       _N_L_S_P_A_T_H   Determine the location of message catalogs for the processing
                 of _L_C___M_E_S_S_A_G_E_S.

AASSYYNNCCHHRROONNOOUUSS EEVVEENNTTSS
       Default.

SSTTDDOOUUTT
       The standard output shall be the text from the input file modified as
       described in the DESCRIPTION section.

SSTTDDEERRRR
       None.

OOUUTTPPUUTT FFIILLEESS
       None.

EEXXTTEENNDDEEDD DDEESSCCRRIIPPTTIIOONN
       None.

EEXXIITT SSTTAATTUUSS
       The following exit values shall be returned:

        0    All input files were output successfully.

       >0    An error occurred.

CCOONNSSEEQQUUEENNCCEESS OOFF EERRRROORRSS
       Default.

       _T_h_e _f_o_l_l_o_w_i_n_g _s_e_c_t_i_o_n_s _a_r_e _i_n_f_o_r_m_a_t_i_v_e_.

AAPPPPLLIICCAATTIIOONN UUSSAAGGEE
       None.

EEXXAAMMPPLLEESS
        1. The following command:


               asa _f_i_l_e

           permits the viewing of _f_i_l_e (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 aa..oouutt and directs it to the printer.

RRAATTIIOONNAALLEE
       The _a_s_a utility is needed to map ``standard'' FORTRAN 77 output into a
       form acceptable to contemporary printers. Usually, _a_s_a is used to pipe
       data to the _l_p utility; see _l_p.

       This utility is generally used only by FORTRAN programs. The standard
       developers decided to retain _a_s_a 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 _a_s_a.

       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 characters 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
       implementation to provide extensions to access fast multiple-line
       slewing and channel seeking in a non-portable manner.

FFUUTTUURREE DDIIRREECCTTIIOONNSS
       None.

SSEEEE AALLSSOO
       _f_o_r_t_7_7, _l_p

       The Base Definitions volume of POSIX.1-2017, _C_h_a_p_t_e_r _8, _E_n_v_i_r_o_n_m_e_n_t
       _V_a_r_i_a_b_l_e_s

CCOOPPYYRRIIGGHHTT
       Portions of this text are reprinted and reproduced in electronic form
       from IEEE Std 1003.1-2017, Standard for Information Technology --
       Portable Operating System Interface (POSIX), The Open Group Base
       Specifications Issue 7, 2018 Edition, Copyright (C) 2018 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 original Standard can
       be obtained online at http://www.opengroup.org/unix/online.html .

       Any typographical or formatting errors that appear in this page are
       most likely to have been introduced during the conversion of the source
       files to man page format. To report such errors, see
       https://www.kernel.org/doc/man-pages/reporting_bugs.html .



IEEE/The Open Group                  2017                               ASA(1)
