tr Man page

TR(1) User Commands TR(1)


tr – translate or delete characters


tr [OPTION]… SET1 [SET2]


Translate, squeeze, and/or delete characters from standard input, writ‐
ing to standard output.

-c, -C, –complement
use the complement of SET1

-d, –delete
delete characters in SET1, do not translate

-s, –squeeze-repeats
replace each sequence of a repeated character that is listed in
the last specified SET, with a single occurrence of that charac‐

-t, –truncate-set1
first truncate SET1 to length of SET2

–help display this help and exit

output version information and exit

SETs are specified as strings of characters. Most represent them‐
selves. Interpreted sequences are:

\NNN character with octal value NNN (1 to 3 octal digits)

\\ backslash

\a audible BEL

\b backspace

\f form feed

\n new line

\r return

\t horizontal tab

\v vertical tab

all characters from CHAR1 to CHAR2 in ascending order

[CHAR*] in SET2, copies of CHAR until length of SET1

[CHAR*REPEAT] REPEAT copies of CHAR, REPEAT octal if starting with 0

[:alnum:] all letters and digits

[:alpha:] all letters

[:blank:] all horizontal whitespace

[:cntrl:] all control characters

[:digit:] all digits

[:graph:] all printable characters, not including space

[:lower:] all lower case letters

[:print:] all printable characters, including space

[:punct:] all punctuation characters

[:space:] all horizontal or vertical whitespace

[:upper:] all upper case letters

[:xdigit:] all hexadecimal digits

[=CHAR=] all characters which are equivalent to CHAR

Translation occurs if -d is not given and both SET1 and SET2 appear.
-t may be used only when translating. SET2 is extended to length of
SET1 by repeating its last character as necessary. Excess characters
of SET2 are ignored. Only [:lower:] and [:upper:] are guaranteed to
expand in ascending order; used in SET2 while translating, they may
only be used in pairs to specify case conversion. -s uses the last
specified SET, and occurs after translation or deletion.


Written by Jim Meyering.


GNU coreutils online help:
Report tr translation bugs to


Copyright © 2016 Free Software Foundation, Inc. License GPLv3+: GNU
GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.


Full documentation at:
or available locally via: info ‘(coreutils) tr invocation’

GNU coreutils 8.25 February 2016 TR(1)