Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ newform(1) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

csplit(1)

fspec(4)

tabs(1)






       newform(1)                                                newform(1)


       NAME
             newform - change the format of a text file

       SYNOPSIS
             newform [-s] [-itabspec] [-otabspec] [-bn] [-en] [-pn] [-an]
                   [-f] [-cchar] [-ln] [files]

       DESCRIPTION
             newform reads lines from the named files, or the standard
             input if no input file is named, and reproduces the lines on
             the standard output.  Lines are reformatted in accordance with
             command line options in effect.  newform processes
             supplementary code set characters according to the locale
             specified in the LC_CTYPE environment variable [see LANG on
             environ(5)], except as noted under the -c option below.

             Except for -s, command line options may appear in any order,
             may be repeated, and may be intermingled with the optional
             files.  Command line options are processed in the order
             specified.  This means that option sequences like ``-e15
             -l60'' will yield results different from ``-l60 -e15''.
             Options are applied to all files on the command line.
             References to ``characters'' below should be interpreted as
             ``bytes'' in multibyte character environments.

             -s        Shears off leading characters on each line up to the
                       first tab and places up to 8 of the sheared
                       characters at the end of the line.  If more than 8
                       characters (not counting the first tab) are sheared,
                       the eighth character is replaced by a * and any
                       characters to the right of it are discarded.  The
                       first tab is always discarded.

                       An error message and program exit will occur if this
                       option is used on a file without a tab on each line.
                       The characters sheared off are saved internally
                       until all other options specified are applied to
                       that line.  The characters are then added at the end
                       of the processed line.

                       For example, to convert a file with leading digits,
                       one or more tabs, and text on each line, to a file
                       beginning with the text, all tabs after the first
                       expanded to spaces, padded with spaces out to column
                       72 (or truncated to column 72), and the leading
                       digits placed starting at column 73, the command


                           Copyright 1994 Novell, Inc.               Page 1













      newform(1)                                                newform(1)


                      would be:
                            newform -s -i -l -a -e file-name

            -itabspec Input tab specification: expands tabs to spaces,
                      according to the tab specifications given.  tabspec
                      accepts four types of tab specifications: canned,
                      repetitive, arbitrary and file.  -n represents the
                      repetitive tab specification.  This format can be
                      used to replace each tab in a file with n spaces.
                      For example,
                            newform -i-4 file-name
                      replaces tabs with 4 spaces.  For more information
                      about the tabspec formats see tabs(1).  In addition,
                      tabspec may be --, in which newform assumes that the
                      tab specification is to be found in the first line
                      read from the standard input (see fspec(4)).  If no
                      tabspec is given, tabspec defaults to -8.  A tabspec
                      of -0 expects no tabs; if any are found, they are
                      treated as -1.

            -otabspec Output tab specification: replaces spaces by tabs,
                      according to the tab specifications given.  The tab
                      specifications are the same as for -itabspec.  If no
                      tabspec is given, tabspec defaults to -8.  A tabspec
                      of -0 means that no spaces will be converted to tabs
                      on output.

            -bn       Truncate n characters from the beginning of the line
                      when the line length is greater than the effective
                      line length (see -ln).  Default is to truncate the
                      number of characters necessary to obtain the
                      effective line length.  The default value is used
                      when -b with no n is used.  This option can be used
                      to delete the sequence numbers from a COBOL program
                      as follows:
                            newform -l1 -b7 file-name

            -en       Same as -bn except that characters are truncated
                      from the end of the line.

            -pn       Prefix n characters (see -ck) to the beginning of a
                      line when the line length is less than the effective
                      line length.  Default is to prefix the number of
                      characters necessary to obtain the effective line
                      length.



                          Copyright 1994 Novell, Inc.               Page 2













       newform(1)                                                newform(1)


             -an       Same as -pn except characters are appended to the
                       end of a line.

             -f        Write the tab specification format line on the
                       standard output before any other lines are output.
                       The tab specification format line which is printed
                       will correspond to the format specified in the last
                       -o option.  If no -o option is specified, the line
                       which is printed will contain the default
                       specification of -8.

             -ck       Change the prefix/append character to k.  Default
                       character for k is a space.  k must be a single-byte
                       character.

             -ln       Set the effective line length to n characters.  If n
                       is not entered, -l defaults to 72.  The default line
                       length without the -l option is 80 characters.  Note
                       that tabs and backspaces are considered to be one
                       character (use -i to expand tabs to spaces).

                       The -l1 must be used to set the effective line
                       length shorter than any existing line in the file so
                       that the -b option is activated.

       REFERENCES
             csplit(1), fspec(4), tabs(1)

       DIAGNOSTICS
             All diagnostics are fatal.

             UX:newform:ERROR:usage:  ...
                   newform was called with a bad option.

             UX:newform:ERROR:not -s format
                   There was no tab on one line.

             UX:newform:ERROR:can't open file
                   Self-explanatory.

             UX:newform:ERROR:internal line too long
                   A line exceeds 512 characters after being expanded in
                   the internal work buffer.





                           Copyright 1994 Novell, Inc.               Page 3













      newform(1)                                                newform(1)


            UX:newform:ERROR:tabspec in error
                  A tab specification is incorrectly formatted, or
                  specified tab stops are not ascending.

            UX:newform:ERROR:tabspec indirection illegal
                  A tabspec read from a file (or standard input) may not
                  contain a tabspec referencing another file (or standard
                  input).

            0 - normal execution
            1 - for any error

      NOTICES
            newform normally only keeps track of physical characters;
            however, for the -i and -o options, newform will keep track of
            backspaces in order to line up tabs in the appropriate logical
            columns.

            newform will not prompt the user if a tabspec is to be read
            from the standard input (by use of -i-- or -o--).

            If the -f option is used, and the last -o option specified was
            -o--, and was preceded by either a -o-- or a -i--, the tab
            specification format line will be incorrect.
























                          Copyright 1994 Novell, Inc.               Page 4








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026