Index Click this button to go to the index for this section.


pr(1)

NAME

pr - Writes a file to standard output

SYNOPSIS

pr [-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.

STANDARDS

Interfaces documented on this reference page conform to industry standards as follows: pr: XPG4, XPG4-UNIX Refer to the standards(5) reference page for more information about industry standards and associated tags.

OPTIONS

-a Displays multicolumn output across the page. (This option is meaningful only in combination with the -column option. It modifies -column so that columns are filled across the page in a round robin order.) -d Doublespaces the output. -e[character][number] 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. -f 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. -F Uses a formfeed character 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. -h header Displays header instead of the file name in the page header. -i[character][gap] 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.) -l lines 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. -m Combines and writes all files at the same time, with each file in a separate column. (This overrides the -column and -a options). -n[character][width] 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.) -o offset Indents each line of output by offset byte positions (the default is 0). This is in addition to output width (see -w). -p Pauses before beginning each page if the output is directed to a terminal. (pr sounds the bell at the terminal and waits for you to press <Return>.) -r Does not display diagnostic messages if the system cannot open files. -s[character] Separates columns by the single character instead of by the appropriate number of spaces (the default for character is an ASCII tab character). -t 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. -x[character][number] [DIGITAL] Same as -n. -w width 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. -column 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). +page Begins the display at the specified page number (the default value is 1). Note 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.

OPERANDS

file The path name of a file to written. If no file is specified, or - (hyphen) is specified, standard input is used.

DESCRIPTION

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 completed processing.

EXIT STATUS

The following exit values are returned: 0 All files have been successfully written. >0 An error occurred.

EXAMPLES

1. 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. 2. 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. 3. To print a file in multiple columns, enter: pr -3 word.lst | lpr This prints the file word.lst in three vertical columns. 4. 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. 5. 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 characters; the -t suppresses the page headings.

ENVIRONMENT VARIABLES

The following environment variables affect the execution of pr: LANG Provides 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 variables contain an invalid setting, the utility behaves as if none of the variables had been defined. LC_ALL If set to a non-empty string value, overrides the values of all the other internationalization variables. LC_CTYPE Determines the locale for the interpretation of sequences of bytes of text data as characters (for example, single-byte as opposed to multibyte characters in arguments). LC_MESSAGES Determines the locale for the format and contents of diagnostic messages written to standard error. LC_TIME Determines the format of the date and time used in writing header lines. NLSPATH Determines the location of message catalogues for the processing of LC_MESSAGES.

FILES

/dev/tty Your terminal, used when the -p option is specified.

SEE ALSO

Commands: cat(1), expand(1), mesg(1) Standards: standards(5)