PR(1) General Commands Manual PR(1)

# [NAME](#NAME)

pr - paginate or columnate FILE(s) for printing

# [SYNOPSIS](#SYNOPSIS)

**pr** \[OPTION]... \[FILE]...

# [DESCRIPTION](#DESCRIPTION)

paginate or columnate FILE(s) for printing

# [OPTIONS](#OPTIONS)

[**--pages** *&lt;FIRST\_PAGE\[:LAST\_PAGE\]&gt;*](#pages)

Begin and stop printing with page FIRST\_PAGE\[:LAST\_PAGE]

[**-h**, **--header** *&lt;STRING&gt;*](#h)

Use the string header to replace the file name  
in the header line.

[**-D**, **--date-format** *&lt;FORMAT&gt;*](#D)

Use 'date'-style FORMAT for the header date.

[**-d**, **--double-space**](#d)

Produce output that is double spaced. An extra \`&lt;newline&gt;\`  
character is output following every \`&lt;newline&gt;\` found in the input.

[**-n**, **--number-lines** \[*&lt;\[char\]\[width\]&gt;*\]](#n)

Provide width digit line numbering. The default for width,  
if not specified, is 5. The number occupies the first width column  
positions of each text column or each line of -m output. If char  
(any non-digit character) is given, it is appended to the line number  
to separate it from whatever follows. The default for char is a \`&lt;tab&gt;\`.  
Line numbers longer than width columns are truncated.

[**-N**, **--first-line-number** *&lt;NUMBER&gt;*](#N)

start counting with NUMBER at 1st line of first page printed

[**-t**, **--omit-header**](#t)

Write neither the five-line identifying header nor the five-line  
trailer usually supplied for each page. Quit writing after the last line  
of each file without spacing to the end of the page.

[**-T**, **--omit-pagination**](#T)

omit page headers and trailers, eliminate any pagination  
by form feeds set in input files

[**-l**, **--length** *&lt;PAGE\_LENGTH&gt;*](#l)

Override the 66-line default (default number of lines of text 56,  
and with -F 63) and reset the page length to lines. If lines is not  
greater than the sum of both the header and trailer depths (in lines),  
the pr utility shall suppress both the header and trailer, as if the -t  
option were in effect.

[**-r**, **--no-file-warnings**](#r)

omit warning when a file cannot be opened

[**-F**, **--form-feed**](#F)

Use a \`&lt;form-feed&gt;\` for new pages, instead of the default behavior that  
uses a sequence of \`&lt;newline&gt;\`s.

[**-w**, **--width** *&lt;width&gt;*](#w)

Set the width of the line to width column positions for multiple  
text-column output only. If the -w option is not specified and the -s option  
is not specified, the default width shall be 72. If the -w option is not specified  
and the -s option is specified, the default width shall be 512.

[**-W**, **--page-width** *&lt;width&gt;*](#W)

set page width to PAGE\_WIDTH (72) characters always,  
truncate lines, except -J option is set, no interference  
with -S or -s

[**-a**, **--across**](#a)

Modify the effect of the - column option so that the columns are filled  
across the page in a round-robin order (for example, when column is 2, the  
first input line heads column 1, the second heads column 2, the third is the  
second line in column 1, and so on).

[**--columns** *&lt;columns&gt;*](#columns)

Produce multi-column output that is arranged in column columns  
(the default shall be 1) and is written down each column in the order in which  
the text is received from the input file. This option should not be used with -m.  
The options -e and -i shall be assumed for multiple text-column output. Whether  
or not text columns are produced with identical vertical lengths is unspecified,  
but a text column shall never exceed the length of the page (see the -l option).  
When used with -t, use the minimum number of lines to write the output.

[**-s**, **--separator** \[*&lt;char&gt;*\]](#s)

Separate text columns by the single character char instead of by the  
appropriate number of \`&lt;space&gt;\`s (default for char is the \`&lt;tab&gt;\` character).

[**-S**, **--sep-string** \[*&lt;string&gt;*\]](#S)

separate columns by STRING,  
without -S: Default separator \`&lt;TAB&gt;\` with -J and \`&lt;space&gt;\`  
otherwise (same as -S\\" \\"), no effect on column options

[**-m**, **--merge**](#m)

Merge files. Standard output shall be formatted so the pr utility  
writes one line from each file specified by a file operand, side by side  
into text columns of equal fixed widths, in terms of the number of column  
positions. Implementations shall support merging of at least nine file operands.

[**-o**, **--indent** *&lt;margin&gt;*](#o)

Each line of output shall be preceded by offset \`&lt;space&gt;\`s. If the -o  
option is not specified, the default offset shall be zero. The space taken is  
in addition to the output line width (see the -w option below).

[**-J**, **--join-lines**](#J)

merge full lines, turns off -W line truncation, no column  
alignment, --sep-string\[=STRING] sets separators

[**--help**](#help)

Print help information

[**-e**, **--expand-tabs** *&lt;\[CHAR\]\[WIDTH\]&gt;*](#e)

expand input CHARs (TABs) to tab [WIDTH (8)](/man/os/uutils/WIDTH.8)

[**-V**, **--version**](#V)

Print version

\[*files*] \[default: -]

# [EXTRA](#EXTRA)

If no FILE(s) are given, or if FILE is -, read standard input.

When creating multicolumn output, columns will be of equal width. When using the '-s' option to separate columns, the default separator is a single tab character. When using the '-S' option to separate columns, the default separator is a single space character.

# [VERSION](#VERSION)

v(uutils coreutils) 0.12.0

2026-10-29

---

Document: pr(1) from uutils 0.12.0-r5 (Chainguard OS)
Source: https://github.com/uutils/coreutils
