pr - phpMan

File: coreutils.info,  Node: pr invocation,  Next: fold invocation,  Prev: numfmt invocation,  Up: Formatting file contents
4.3 'pr': Paginate or columnate files for printing
==================================================
'pr' writes each FILE ('-' means standard input), or standard input if
none are given, to standard output, paginating and optionally outputting
in multicolumn format; optionally merges all FILEs, printing all in
parallel, one per column.  Synopsis:
     pr [OPTION]... [FILE]...
   By default, a 5-line header is printed at each page: two blank lines;
a line with the date, the file name, and the page count; and two more
blank lines.  A footer of five blank lines is also printed.  The default
PAGE_LENGTH is 66 lines.  The default number of text lines is therefore
56.  The text line of the header takes the form 'DATE STRING PAGE', with
spaces inserted around STRING so that the line takes up the full
PAGE_WIDTH.  Here, DATE is the date (see the '-D' or '--date-format'
option for details), STRING is the centered header string, and PAGE
identifies the page number.  The 'LC_MESSAGES' locale category affects
the spelling of PAGE; in the default C locale, it is 'Page NUMBER' where
NUMBER is the decimal page number.
   Form feeds in the input cause page breaks in the output.  Multiple
form feeds produce empty pages.
   Columns are of equal width, separated by an optional string (default
is 'space').  For multicolumn output, lines will always be truncated to
PAGE_WIDTH (default 72), unless you use the '-J' option.  For single
column output no line truncation occurs by default.  Use '-W' option to
truncate lines in that case.
   The program accepts the following options.  Also see *note Common
options::.
'+FIRST_PAGE[:LAST_PAGE]'
'--pages=FIRST_PAGE[:LAST_PAGE]'
     Begin printing with page FIRST_PAGE and stop with LAST_PAGE.
     Missing ':LAST_PAGE' implies end of file.  While estimating the
     number of skipped pages each form feed in the input file results in
     a new page.  Page counting with and without '+FIRST_PAGE' is
     identical.  By default, counting starts with the first page of
     input file (not first page printed).  Line numbering may be altered
     by '-N' option.
'-COLUMN'
'--columns=COLUMN'
     With each single FILE, produce COLUMN columns of output (default is
     1) and print columns down, unless '-a' is used.  The column width
     is automatically decreased as COLUMN increases; unless you use the
     '-W/-w' option to increase PAGE_WIDTH as well.  This option might
     well cause some lines to be truncated.  The number of lines in the
     columns on each page are balanced.  The options '-e' and '-i' are
     on for multiple text-column output.  Together with '-J' option
     column alignment and line truncation is turned off.  Lines of full
     length are joined in a free field format and '-S' option may set
     field separators.  '-COLUMN' may not be used with '-m' option.
'-a'
'--across'
     With each single FILE, print columns across rather than down.  The
     '-COLUMN' option must be given with COLUMN greater than one.  If a
     line is too long to fit in a column, it is truncated.
'-c'
'--show-control-chars'
     Print control characters using hat notation (e.g., '^G'); print
     other nonprinting characters in octal backslash notation.  By
     default, nonprinting characters are not changed.
'-d'
'--double-space'
     Double space the output.
'-D FORMAT'
'--date-format=FORMAT'
     Format header dates using FORMAT, using the same conventions as for
     the command 'date +FORMAT'.  *Note date invocation::.  Except for
     directives, which start with '%', characters in FORMAT are printed
     unchanged.  You can use this option to specify an arbitrary string
     in place of the header date, e.g., '--date-format="Monday
     morning"'.
     The default date format is '%Y-%m-%d %H:%M' (for example,
     '2001-12-04 23:59'); but if the 'POSIXLY_CORRECT' environment
     variable is set and the 'LC_TIME' locale category specifies the
     POSIX locale, the default is '%b %e %H:%M %Y' (for example, 'Dec  4
     23:59 2001'.
     Time stamps are listed according to the time zone rules specified
     by the 'TZ' environment variable, or by the system default rules if
     'TZ' is not set.  *Note Specifying the Time Zone with 'TZ':
     (libc)TZ Variable.
'-e[IN-TABCHAR[IN-TABWIDTH]]'
'--expand-tabs[=IN-TABCHAR[IN-TABWIDTH]]'
     Expand TABs to spaces on input.  Optional argument IN-TABCHAR is
     the input tab character (default is the TAB character).  Second
     optional argument IN-TABWIDTH is the input tab character's width
     (default is 8).
'-f'
'-F'
'--form-feed'
     Use a form feed instead of newlines to separate output pages.  This
     does not alter the default page length of 66 lines.
'-h HEADER'
'--header=HEADER'
     Replace the file name in the header with the centered string
     HEADER.  When using the shell, HEADER should be quoted and should
     be separated from '-h' by a space.
'-i[OUT-TABCHAR[OUT-TABWIDTH]]'
'--output-tabs[=OUT-TABCHAR[OUT-TABWIDTH]]'
     Replace spaces with TABs on output.  Optional argument OUT-TABCHAR
     is the output tab character (default is the TAB character).  Second
     optional argument OUT-TABWIDTH is the output tab character's width
     (default is 8).
'-J'
'--join-lines'
     Merge lines of full length.  Used together with the column options
     '-COLUMN', '-a -COLUMN' or '-m'.  Turns off '-W/-w' line
     truncation; no column alignment used; may be used with
     '--sep-string[=STRING]'.  '-J' has been introduced (together with
     '-W' and '--sep-string') to disentangle the old (POSIX-compliant)
     options '-w' and '-s' along with the three column options.
'-l PAGE_LENGTH'
'--length=PAGE_LENGTH'
     Set the page length to PAGE_LENGTH (default 66) lines, including
     the lines of the header [and the footer].  If PAGE_LENGTH is less
     than or equal to 10, the header and footer are omitted, as if the
     '-t' option had been given.
'-m'
'--merge'
     Merge and print all FILEs in parallel, one in each column.  If a
     line is too long to fit in a column, it is truncated, unless the
     '-J' option is used.  '--sep-string[=STRING]' may be used.  Empty
     pages in some FILEs (form feeds set) produce empty columns, still
     marked by STRING.  The result is a continuous line numbering and
     column marking throughout the whole merged file.  Completely empty
     merged pages show no separators or line numbers.  The default
     header becomes 'DATE PAGE' with spaces inserted in the middle; this
     may be used with the '-h' or '--header' option to fill up the
     middle blank part.
'-n[NUMBER-SEPARATOR[DIGITS]]'
'--number-lines[=NUMBER-SEPARATOR[DIGITS]]'
     Provide DIGITS digit line numbering (default for DIGITS is 5).
     With multicolumn output the number occupies the first DIGITS column
     positions of each text column or only each line of '-m' output.
     With single column output the number precedes each line just as
     '-m' does.  Default counting of the line numbers starts with the
     first line of the input file (not the first line printed, compare
     the '--page' option and '-N' option).  Optional argument
     NUMBER-SEPARATOR is the character appended to the line number to
     separate it from the text followed.  The default separator is the
     TAB character.  In a strict sense a TAB is always printed with
     single column output only.  The TAB width varies with the TAB
     position, e.g., with the left MARGIN specified by '-o' option.
     With multicolumn output priority is given to 'equal width of output
     columns' (a POSIX specification).  The TAB width is fixed to the
     value of the first column and does not change with different values
     of left MARGIN.  That means a fixed number of spaces is always
     printed in the place of the NUMBER-SEPARATOR TAB.  The tabification
     depends upon the output position.
'-N LINE_NUMBER'
'--first-line-number=LINE_NUMBER'
     Start line counting with the number LINE_NUMBER at first line of
     first page printed (in most cases not the first line of the input
     file).
'-o MARGIN'
'--indent=MARGIN'
     Indent each line with a margin MARGIN spaces wide (default is
     zero).  The total page width is the size of the margin plus the
     PAGE_WIDTH set with the '-W/-w' option.  A limited overflow may
     occur with numbered single column output (compare '-n' option).
'-r'
'--no-file-warnings'
     Do not print a warning message when an argument FILE cannot be
     opened.  (The exit status will still be nonzero, however.)
'-s[CHAR]'
'--separator[=CHAR]'
     Separate columns by a single character CHAR.  The default for CHAR
     is the TAB character without '-w' and 'no character' with '-w'.
     Without '-s' the default separator 'space' is set.  '-s[char]'
     turns off line truncation of all three column options
     ('-COLUMN'|'-a -COLUMN'|'-m') unless '-w' is set.  This is a
     POSIX-compliant formulation.
'-S[STRING]'
'--sep-string[=STRING]'
     Use STRING to separate output columns.  The '-S' option doesn't
     affect the '-W/-w' option, unlike the '-s' option which does.  It
     does not affect line truncation or column alignment.  Without '-S',
     and with '-J', 'pr' uses the default output separator, TAB.
     Without '-S' or '-J', 'pr' uses a 'space' (same as '-S" "').  If no
     'STRING' argument is specified, '""' is assumed.
'-t'
'--omit-header'
     Do not print the usual header [and footer] on each page, and do not
     fill out the bottom of pages (with blank lines or a form feed).  No
     page structure is produced, but form feeds set in the input files
     are retained.  The predefined pagination is not changed.  '-t' or
     '-T' may be useful together with other options; e.g.: '-t -e4',
     expand TAB characters in the input file to 4 spaces but don't make
     any other changes.  Use of '-t' overrides '-h'.
'-T'
'--omit-pagination'
     Do not print header [and footer].  In addition eliminate all form
     feeds set in the input files.
'-v'
'--show-nonprinting'
     Print nonprinting characters in octal backslash notation.
'-w PAGE_WIDTH'
'--width=PAGE_WIDTH'
     Set page width to PAGE_WIDTH characters for multiple text-column
     output only (default for PAGE_WIDTH is 72).  '-s[CHAR]' turns off
     the default page width and any line truncation and column
     alignment.  Lines of full length are merged, regardless of the
     column options set.  No PAGE_WIDTH setting is possible with single
     column output.  A POSIX-compliant formulation.
'-W PAGE_WIDTH'
'--page_width=PAGE_WIDTH'
     Set the page width to PAGE_WIDTH characters.  That's valid with and
     without a column option.  Text lines are truncated, unless '-J' is
     used.  Together with one of the three column options ('-COLUMN',
     '-a -COLUMN' or '-m') column alignment is always used.  The
     separator options '-S' or '-s' don't affect the '-W' option.
     Default is 72 characters.  Without '-W PAGE_WIDTH' and without any
     of the column options NO line truncation is used (defined to keep
     downward compatibility and to meet most frequent tasks).  That's
     equivalent to '-W 72 -J'.  The header line is never truncated.
   An exit status of zero indicates success, and a nonzero value
indicates failure.