PR(1) User Commands PR(1)

# [NAME](#NAME)

pr - convert text files for printing

# [SYNOPSIS](#SYNOPSIS)

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

# [DESCRIPTION](#DESCRIPTION)

Paginate or columnate FILE(s) for printing.

With no FILE, or when FILE is -, read standard input.

Mandatory arguments to long options are mandatory for short options too.

**+FIRST\_PAGE\[:LAST\_PAGE], --pages=FIRST\_PAGE\[:LAST\_PAGE]**

begin \[stop] printing with page FIRST\_\[LAST\_]PAGE

[**-COLS, --columns=COLS**](#COLS,)

output COLS columns and print columns down, unless **-a** is used. Balance number of lines in the columns on each page

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

print columns across rather than down, used together with **-COLS**

[**-c, --show-control-chars**](#c,)

use hat notation (^G) and octal backslash notation

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

double space the output

[**-D, --date-format=FORMAT**](#D,)

use FORMAT for the header date

[**-e\[CHAR\[WIDTH\]\], --expand-tabs\[=CHAR\[WIDTH\]\]**](#e_CHAR_WIDTH__,)

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

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

use form feeds instead of newlines to separate pages (by a 3-line page header with **-F** or a 5-line header and trailer without **-F**)

[**-h, --header=HEADER**](#h,)

use a centered HEADER instead of filename in page header, **-h** "" prints a blank line, don't use **-h**""

[**-i\[CHAR\[WIDTH\]\], --output-tabs\[=CHAR\[WIDTH\]\]**](#i_CHAR_WIDTH__,)

replace spaces with CHARs (TABs) to tab [WIDTH (8)](/man/os/coreutils/WIDTH.8)

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

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

[**-l, --length=PAGE\_LENGTH**](#l,)

set the page length to PAGE\_LENGTH (66) lines (default number of lines of text 56, and with **-F** 63). implies **-t** if PAGE\_LENGTH &lt;= 10

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

print all files in parallel, one in each column, truncate lines, but join lines of full length with **-J**

[**-n\[SEP\[DIGITS\]\], --number-lines\[=SEP\[DIGITS\]\]**](#n_SEP_DIGITS__,)

number lines, use [DIGITS (5)](/man/os/coreutils/DIGITS.5) digits, then SEP (TAB), default counting starts with 1st line of input file

[**-N, --first-line-number=NUMBER**](#N,)

start counting with NUMBER at 1st line of first page printed (see +FIRST\_PAGE)

[**-o, --indent=MARGIN**](#o,)

offset each line with MARGIN (zero) spaces, do not affect **-w** or **-W**, MARGIN will be added to PAGE\_WIDTH

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

omit warning when a file cannot be opened

[**-s\[CHAR\], --separator\[=CHAR\]**](#s_CHAR_,)

separate columns by a single character, default for CHAR is the &lt;TAB&gt; character without **-w** and 'no char' with **-w**. **-s**\[*CHAR*] turns off line truncation of all 3 column options (**-COLS**|-a **-COLS**|-m) except **-w** is set

[**-S\[STRING\], --sep-string\[=STRING\]**](#S_STRING_,)

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

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

omit page headers and trailers; implied if PAGE\_LENGTH &lt;= 10

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

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

[**-v, --show-nonprinting**](#v,)

use octal backslash notation

[**-w, --width=PAGE\_WIDTH**](#w,)

set page width to PAGE\_WIDTH (72) characters for multiple text-column output only, **-s**\[*char*] turns off (72)

[**-W, --page-width=PAGE\_WIDTH**](#W,)

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

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

display this help and exit

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

output version information and exit

# [AUTHOR](#AUTHOR)

Written by Pete TerMaat and Roland Huebner.

# [REPORTING BUGS](#REPORTING_BUGS)

Report bugs to: &lt;bug-coreutils@gnu.org&gt;.  
Report any translation bugs to: &lt;https://translationproject.org/team/&gt;.  
GNU coreutils home page: &lt;https://www.gnu.org/software/coreutils/&gt;  
General help using GNU software: &lt;https://www.gnu.org/gethelp/&gt;

# [COPYRIGHT](#COPYRIGHT)

Copyright © 2026 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later &lt;https://gnu.org/licenses/gpl.html&gt;.  
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

# [SEE ALSO](#SEE_ALSO)

Full documentation &lt;https://www.gnu.org/software/coreutils/pr&gt;  
or available locally via: info '(coreutils) pr invocation'

October 2026 GNU coreutils 9.12

---

Document: pr(1) from coreutils 9.12-r7 (Chainguard OS)
Source: https://git.savannah.gnu.org/git/coreutils.git
