> Linux Man Page: "tr"


Search with Google


The Linux Documentation Project maintains an archive of snaphots of the (English language) core Linux manual pages that are maintained by Michael Kerrisk. Corrections and additions are welcome, but review the "Help Wanted" list, first.

Man pages belonging to programs are usually distributed together with those programs. Therefore, the core Linux man-pages mainly contains the pages for system calls and library routines, special devices, and file formats. However, it also contains documentation for a few programs, in cases where the authors or maintainers of the program do not distribute man pages themselves.

This page is part of release 3.11 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at


man page(1) manual page Table of Contents


tr - translate or delete characters


tr [OPTION]... SET1 [SET2]


Translate, squeeze, and/or delete characters from standard input, writing to standard output.

-c, -C, --complement
first complement SET1

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

-s, --squeeze-repeats
replace each input sequence of a repeated character that is listed in SET1 with a single occurrence of that character

-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 themselves. Interpreted sequences are:

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


audible BEL


form feed

new line


horizontal tab

vertical tab

all characters from CHAR1 to CHAR2 in ascending order

in SET2, copies of CHAR until length of SET1

REPEAT copies of CHAR, REPEAT octal if starting with 0

all letters and digits

all letters

all horizontal whitespace

all control characters

all digits

all printable characters, not including space

all lower case letters

all printable characters, including space

all punctuation characters

all horizontal or vertical whitespace

all upper case letters

all hexadecimal digits

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 SET1 if not translating nor deleting; else squeezing uses SET2 and occurs after translation or deletion.


Written by Jim Meyering.

Reporting Bugs

Report bugs to <>.


Copyright © 2007 Free Software Foundation, Inc. This is free software. You may redistribute copies of it under the terms of the GNU General Public License <>. There is NO WARRANTY, to the extent permitted by law.

See Also

The full documentation for tr is maintained as a Texinfo manual. If the info and tr programs are properly installed at your site, the command

info tr

should give you access to the complete manual.

Table of Contents

use open software!