pr(1)pr(1)NAMEpr - Writes a file to standard output
SYNOPSISpr [-adfFmprt] [-e] [character] [number] [-h header] [-i] [character]
[gap] [-l lines] [-n] [character] [width] | [-x] [character] [number]
[-o offset] [-s] [character] [-w width] [-column] [+page] [file...]
The pr command writes file to standard output. If you do not specify
file or if file is -, pr reads standard input.
Interfaces documented on this reference page conform to industry stan‐
dards as follows:
Refer to the standards(5) reference page for more information about
industry standards and associated tags.
Displays multicolumn output across the page. (This option is meaning‐
ful only in combination with the -column option. It modifies -column
so that columns are filled across the page in a round robin order.)
Doublespaces the output. Expands tabs to byte positions number+1,
2*number+1, 3*number+1, and so on. The default value of number is 8.
Tab characters in the input expand to the appropriate number of spaces
to line up with the next tab setting. If you specify character (any
character other than a digit) that character becomes the input tab
character. The default value of character is the ASCII tab character.
Uses a formfeed character to advance to a new page. (Otherwise, pr
issues a sequence of newline characters.) Pauses before beginning the
first page if the standard output is a terminal. Uses a formfeed char‐
acter to advance to a new page. (Otherwise, pr issues a sequence of
newline characters.) Does not pause before beginning the first page if
the standard output is a terminal. Displays header instead of the file
name in the page header. Replaces multiple space characters with tab
characters wherever two or more space characters reach positions gap+1,
2*gap+1, 3*gap+1, and so on. The default value of gap is 8. If you
specify character (any character other than a digit), that character
becomes the output tab character. (The default value of character is
the ASCII tab character.) Sets the length of a page to lines lines
(the default is 66). If lines is not greater than the sum of the
header and trailer, pr suppresses both header and trailer, as if -t
were in effect. Combines and writes all files at the same time, with
each file in a separate column. (This overrides the -column and -a
options). Provides width-digit line numbering (the default value of
width is 5). The number occupies the first width positions of each
column of normal output (or each line of -m output). If you specify
character (any character, other than a digit), that character is added
to the line number to separate it from whatever follows. (The default
value of character is an ASCII tab character.) Indents each line of
output by offset byte positions (the default is 0). This is in addi‐
tion to output width (see -w). Pauses before beginning each page if
the output is directed to a terminal. (pr sounds the bell at the ter‐
minal and waits for you to press <Return>.) Does not display diagnos‐
tic messages if the system cannot open files. Separates columns by the
single character instead of by the appropriate number of spaces (the
default for character is an ASCII tab character). Does not display the
5-line identifying header and the 5-line footer. Stops after the last
line of each file without spacing to the end of the page. [Tru64
UNIX] Same as -n. Sets the width of a line to width byte positions.
If neither -w or -s are specified, the default is 72. If only -s is
specified, the default is 512. Single column output is not truncated.
Produces the specified number of columns (the default value is 1). The
-e and -i options are assumed for multicolumn output. A text column
never exceeds the width of the page (see -l). Begins the display at
the specified page number (the default value is 1).
When used with arguments, the -e, -i, -n, -s, and -x options do
not permit white space between the option and its associated
argument, or between multiple arguments.
The path name of a file to written. If no file is specified, or -
(hyphen) is specified, standard input is used.
A heading that contains the page number, date, time, and the name of
the file separates the output into pages.
Unless specified, columns are of equal width and separated by at least
one space. Lines that are too long for the page width are shortened.
If the standard output is a terminal, pr does not display any error
messages until it has ended. By default, the input is separated into
66-line pages, including the 5-line header and 5-line footer.
If standard output is a terminal, diagnostic (error) messages produced
during the operation of pr will be deferred and printed after pr has
The following exit values are returned: All files have been success‐
fully written. An error occurred.
To print a file with headings and page numbers on the printer, enter:
pr prog.c | lpr
This inserts a page break in prog.c, starts each page with a
heading, and sends the output to the print command. The heading
consists of the date the file was last modified, the file name,
and the page number. To specify a title, enter: pr-h "MAIN
PROGRAM" prog.c | lpr
This prints prog.c with the title MAIN PROGRAM in place of the
file name. The modification date and page number are still
printed. To print a file in multiple columns, enter: pr-3
word.lst | lpr
This prints the file word.lst in three vertical columns. To
print several files side-by-side on the paper, enter: pr-m-h
"Members, Visitors" member.lst visitor.lst | lpr
This prints the files member.lst and visitor.lst side-by-side
with the title Members, Visitors. To modify a file for later
use, enter: pr-t-e prog.c > prog.notab.c
This replaces tab characters in prog.c with spaces and puts the
result in prog.notab.c. Tab positions are at byte positions 9,
17, 25, 33, and so on. The -e tells pr to replace the tab char‐
acters; the -t suppresses the page headings.
The following environment variables affect the execution of pr: Pro‐
vides a default value for the internationalization variables that are
unset or null. If LANG is unset or null, the corresponding value from
the default locale is used. If any of the internationalization vari‐
ables contain an invalid setting, the utility behaves as if none of the
variables had been defined. If set to a non-empty string value, over‐
rides the values of all the other internationalization variables.
Determines 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). Determines the locale for the format
and contents of diagnostic messages written to standard error. Deter‐
mines the format of the date and time used in writing header lines.
Determines the location of message catalogues for the processing of
Your terminal, used when the -p option is specified.
Commands: cat(1), expand(1), mesg(1)