4.4BSD/usr/share/man/cat1/rs.0

Compare this file to the similar file:
Show the results in this format:




RS(1)                  BSD Reference Manual                 RS(1)


NNAAMMEE
       rs - reshape a data array

SSYYNNOOPPSSIISS
       rrss [[ --[[ccssCCSS]][[x]][[kkKKggGGww]][[N]]ttTTeeEEnnyyjjhhHHmm ]] [[ rows [[ cols ]] ]]

DDEESSCCRRIIPPTTIIOONN
       _R_s  reads  the standard input, interpreting each line as a
       row of blank-separated entries in an array, transforms the
       array according to the options, and writes it on the stan-
       dard output.  With no arguments it transforms stream input
       into a columnar format convenient for terminal viewing.

       The shape of the input array is deduced from the number of
       lines and the number of columns on  the  first  line.   If
       that  shape  were inconvenient, a more useful one might be
       obtained by skipping some of the input with the --kk option.
       Other options control interpretation of the input columns.

       The shape of the output array is influenced  by  the  _r_o_w_s
       and  _c_o_l_s  specifications,  which should be positive inte-
       gers.  If only one of them is a positive integer, _r_s  com-
       putes  a value for the other which will accommodate all of
       the data.  When necessary, missing data are supplied in  a
       manner  specified  by  the  options  and  surplus data are
       deleted.  There are options to control presentation of the
       output  columns,  including  transposition of the rows and
       columns.

       The options are described below.

       --ccx    Input columns are delimited by the single character
              _x.  A missing _x is taken to be `^I'.

       --ssx    Like --cc, but maximal strings of _x are delimiters.

       --CCx    Output  columns are delimited by the single charac-
              ter _x.  A missing _x is taken to be `^I'.

       --SSx    Like --CC, but padded strings of _x are delimiters.

       --tt     Fill in the rows of  the  output  array  using  the
              columns  of the input array, that is, transpose the
              input while honoring any _r_o_w_s and  _c_o_l_s  specifica-
              tions.

       --TT     Print the pure transpose of the input, ignoring any
              _r_o_w_s or _c_o_l_s specification.

       --kkN    Ignore the first _N lines of input.




4th Berkeley Distribution  June 6, 1993                         1








RS(1)                  BSD Reference Manual                 RS(1)


       --KKN    Like --kk, but print the ignored lines.

       --ggN    The gutter width (inter-column space), normally  2,
              is taken to be _N.

       --GGN    The  gutter width has _N percent of the maximum col-
              umn width added to it.

       --ee     Consider each line of input as an array entry.

       --nn     On lines having fewer entries than the first  line,
              use  null  entries  to pad out the line.  Normally,
              missing entries are taken from  the  next  line  of
              input.

       --yy     If  there are too few entries to make up the output
              dimensions, pad the output by recycling  the  input
              from the beginning.  Normally, the output is padded
              with blanks.

       --hh     Print the shape of the input array and  do  nothing
              else.   The  shape  is just the number of lines and
              the number of entries on the first line.

       --HH     Like --hh, but also print the length of each line.

       --jj     Right adjust entries within columns.

       --wwN    The width of the display, normally 80, is taken  to
              be the positive integer _N.

       --mm     Do  not trim excess delimiters from the ends of the
              output array.

       With no arguments, _r_s transposes its  input,  and  assumes
       one  array  entry  per  input  line  unless the first non-
       ignored line is longer than  the  display  width.   Option
       letters which take numerical arguments interpret a missing
       number as zero unless otherwise indicated.

EEXXAAMMPPLLEESS
       _R_s can be used as a filter to convert the stream output of
       certain  programs  (e.g.,  _s_p_e_l_l, _d_u, _f_i_l_e, _l_o_o_k, _n_m, _w_h_o,
       and _w_c(1)) into a convenient ``window'' format, as in

              wwhhoo   ||   rrss

       This function has been incorporated into  the  _l_s(1)  pro-
       gram, though for most programs with similar output _r_s suf-
       fices.




4th Berkeley Distribution  June 6, 1993                         2








RS(1)                  BSD Reference Manual                 RS(1)


       To convert stream input into vector output and back again,
       use

              rrss   11   00   ||   rrss   00   11

       A  10  by 10 array of random numbers from 1 to 100 and its
       transpose can be generated with

              jjoott   --rr   110000   ||   rrss   1100   1100   ||   tteeee   aarrrraayy
              ||   rrss   --TT   >>   ttaarrrraayy

       In  the  editor  _v_i(1),  a file consisting of a multi-line
       vector with 9 elements per line can undergo insertions and
       deletions, and then be neatly reshaped into 9 columns with

              ::11,,$$!!rrss   00   99

       Finally, to sort a database by  the  first  line  of  each
       4-line field, try

              rrss    --eeCC    00   44   ||   ssoorrtt   ||   rrss   --cc   00   11


SSEEEE AALLSSOO
       jot(1), vi(1), sort(1), pr(1)

BBUUGGSS
       Handles only two dimensional arrays.

       The algorithm currently reads the whole file into  memory,
       so files that do not fit in memory will not be reshaped.

       Fields cannot be defined yet on character positions.

       Re-ordering of columns is not yet possible.

       There are too many options.

















4th Berkeley Distribution  June 6, 1993                         3